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