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