printf


printf FILEHANDLE LIST
printf LIST

 フォーマットした文字列をFILEHANDLEに出力します。FILEHANDLEを省略するとselectされている出力ファイルハンドル(通常は標準出力)に出力します。
 LISTの最初の要素には残りの要素をどのような形式で出力するかを示すFORMAT文字列(書式)を指定します。
 FORMAT文字列の中に記述するフィールド指定子は%m.nxと記述します。mとnは数字でどちらも省略可能です。xは以下の表の文字(代表的な物だけ書いています)などがあります。
文字 説明
b 2進整数
c 文字
d 10進整数
e 浮動小数点(指数形式)
f 浮動小数点(固定小数点形式)
g 浮動小数点(コンパクト形式)
o 8進整数
s 文字列
x 16進整数(小文字)
X 16進整数(大文字)

サンプルプログラム

my $val1 = 1234;
my $val2 = 56.78;
my $val3 = 65;
my $val4 = 'abcd';

printf " 1: %b\n", $val1;
printf " 2: %c\n", $val3;
printf " 3: %d\n", $val1;
printf " 4: %e\n", $val2;
printf " 5: %f\n", $val2;
printf " 6: %g\n", $val2;
printf " 7: %o\n", $val1;
printf " 8: %s\n", $val4;
printf " 9: %x\n", $val1;
printf "10: %X\n", $val1;

printf "11: val1=[%d]\n", $val1;
printf "12: %8d\n", $val1;   # 8桁右揃え
printf "13: %08d\n", $val1;  # 8桁前0埋め
printf "14: %8.3f\n", $val2; # 8桁右揃え 小数点以下3桁
printf "15: %8g\n", $val2;   # 8桁右揃え
printf "16: %8.3g\n", $val2; # 8桁右揃え 3桁
printf "17: %8s\n", $val4;   # 8桁右揃え
printf "18: %08s\n", $val4;  # 8桁前0埋め
printf "19: %.3s\n", $val4;  # 3桁
printf "20: %8.3s\n", $val4; # 8桁右揃え 3桁

printf "21: val1=[%d] val2=[%g]\n", $val1, $val2;
以下は実行結果です。
 1: 10011010010
 2: A
 3: 1234
 4: 5.678000e+001
 5: 56.780000
 6: 56.78
 7: 2322
 8: abcd
 9: 4d2
10: 4D2
11: val1=[1234]
12:     1234
13: 00001234
14:   56.780
15:    56.78
16:     56.8
17:     abcd
18: 0000abcd
19: abc
20:      abc
21: val1=[1234] val2=[56.78]

関連項目

書式指定で対象を指定する
open関数
print関数
say関数
・select関数
sprintf関数