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関数
