pack
pack TEMPLATE, LIST
LISTをTEMPLATEのルールに従って文字列に変換します。
TEMPLATEに指定できる文字は以下のもの(代表的な物だけ書いています)などがあります。
文字 | 説明 |
---|---|
a | 文字列、不足分はヌル文字で埋める |
A | テキスト文字列、不足分はスペースで埋める |
Z | ヌル終端文字列、不足分はヌル文字で埋める |
b | ビット文字列(下位ビットから上位ビットの順) |
B | ビット文字列(上位ビットから下位ビットの順) |
h | 16進文字列(下位ニブルが先) |
H | 16進文字列(上位ニブルが先) |
c | 符号付きchar値 |
C | 符号なしchar値 |
s | 符号付きshort値 |
S | 符号なしshort値 |
n | ネットワークバイト順(ビッグエンディアン)によるshort値 |
N | ネットワークバイト順(ビッグエンディアン)によるlong値 |
サンプルプログラム
use strict; use warnings; my @data = qw( One Two Three ); # 各項目10桁の固定長文字列にする(不足部分は空白) my $str = pack "A10A10A10", @data; print $str, "\n"; # One Two Three
関連項目
・ASCIIコードと文字の相互変換・chr関数
・unpack関数