perl 関数 packとunpack

#入力した文字列と数値をパックして表示した後、元の文字列に戻して再表示する。

#packとunpackのテスト

#pack("format", list)
#unpack("format", variable)

print "文字列を入力してください>";
$string = <STDIN>;
chomp($string);
$length = length($string);

print "数値を入力してください>";
$number = <STDIN>;
chomp($number);

#パックする
#同じ型の要素がつづときはフォーマット記号のあとにその連続数を指定する。C4はchar型の要素が4つ連続していることを示す。
$packed = pack("A${length}i", $string, $number);
print "パック文字列: $packed\n";

#アンパックする
($string2, $number2) = unpack("A${length}i", $packed);
print "元の文字列: $string2 元の数値: $number2\n";

#実行結果
# 文字列を入力してください>perl
# 数値を入力してください>100
# パック文字列: perld
# 元の文字列: perl 元の数値: 100

初めてのPerl 第6版

初めてのPerl 第6版