Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. 標準関数
  3. here

printf関数 - 書式付き文字列出力

書式(フォーマット)を設定して文字列を出力するにはprintf関数を使用します。

printf "Number %03d %.3f\n", 3, 3.14567;

上記の出力結果は次のようになります。「3」という整数は3桁になるように左に0が埋められています。「3.14567」という小数点は「3.146」の小数点3桁に丸められています。

Number 003 3.146

「%03d」や「%.3f」は書式指定子と呼ばれます。書式指定子の詳細についてはsprintf関数の解説をご覧ください。

ファイルへの出力

fprintf関数でも、print関数と同じように、間接オブジェクト記法を使って、ファイルハンドルを指定して、出力することができます。

# 標準エラー出力へ出力
printf STDERR "Number %03d %.3f\n", 3, 3.14567;

# ファイルハンドルを使ってファイルへ出力
printf $fh "Number %03d %.3f\n", 3, 3.14567;

ファイルハンドル後ろにはカンマがないことに注意してください。

出力する方法の詳細についてはprint関数の解説をご覧ください。

書式指定した文字列を変数に書き出す

printf関数は出力を行う関数ですがsprintf関数を使うと、書式指定した文字列を変数に書き出すことができます。

my $string = sprintf "Number %03d %.3f\n", 3, 3.14567;

sprintf関数の詳細については以下をご覧ください。