構文 |
|
pack 変換ルール, 変換対象のリスト |
返り値 |
|
・変換対象のリストを変換ルールに従って変換した結果の文字列 |
説明
- 変換対象のリストの値を変換ルールに従って文字列に変換します。
- 変換ルールに指定できる代表的な型指定文字は以下の通りです。
- a 文字列,不足分はヌル文字で埋める
- A テキスト文字列,不足分はスペースで埋める
- Z ヌル終端文字列,不足分はヌル文字で埋める
- b ビット文字列(下位ビットから上位ビットの順)
- B ビット文字列(上位ビットから下位ビットの順)
- h 16進文字列(下位ニブルが先)
- H 16進文字列(上位ニブルが先)
- c 符号付きchar値
- C 符号なしchar値
- s 符号付きshort値
- S 符号なしshort値
- n ネットワークバイト順(ビッグエンディアン)によるshort値
- N ネットワークバイト順(ビッグエンディアン)によるlong値
型指定文字の後ろに数字を置くと,型指定文字の繰り返し回数を指定することができます。数字の代わりに*を置くと,残りすべての要素を使うことになります。
使用例
#!/usr/bin/perl
use strict;
use warnings;
my @alpha_num = (65..90);
my $str = pack "c*", @alpha_num;
my $str2 = pack "c5", @alpha_num;
print $str, "\n"; # ABCDEFGHIJKLMNOPQRSTUVWXYZ
print $str2, "\n"; # ABCDE
#!/usr/bin/perl
use strict;
use warnings;
my @data = qw(
Alpha
Bravo
Charlie
Delta
);
my $str = pack "A10A10A10A10", @data;
print "[$str]\n"; # [Alpha Bravo Charlie Delta ]
#!/usr/bin/perl
use strict;
use warnings;
my $str = pack "H*", '48656C6C6F2C20576F726C6421';
print $str, "\n"; # Hello, World!