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の書籍
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「こっ、こしゃくな。
このPerオタクめ~!」

Twitter
フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

木本システム株式会社
ご紹介キャンペーン実施中です。契約金額の10%をご紹介料としてお支払い。

(例)30万円のシステム開発委託契約が、1年続いたら、36万円がもらえる!!!