Go to the first, previous, next, last section, table of contents.

unpack

`unpack(TEMPLATE,EXPR)'
unpackpack の逆を行う:
ある構造体を示す文字列から配列値を取り出す。 (スカラーコンテキストでは、生成した最初の値のみを返す。) TEMPLATEpack関数 と同じフォーマットである。 以下は substring を行うサブルーチンの例である。
sub substr {
     local($what,$where,$howmuch) = @_;
     unpack("x$where a$howmuch", $what);
}
そして、
sub ord { unpack("c",$_[0]); }
さらに、フィールドに %<数字> という添え字をつけると、 アイテムそのものの代わりに、アイテムの<数字>ビットのチェックサムが得られる。 デフォルトは 16 ビットチェックサムである。 例えば、次の例では System V の sum プログラムと同じ値が得られる。
while(<>) {
    $checksum += unpack("%16C*", $_);
}
$checksum %= 65536;
See section pack.

Go to the first, previous, next, last section, table of contents.