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関数の詳細については以下をご覧ください。

  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。