関数順 インデックス
目的別 インデックス

構文
 
 printf ファイル・ハンドル 書式, データ
 printf 書式, データ

返り値
 
 出力成功時に真

説明

  • 文字列を指定した書式でフォーマットしてファイル・ハンドルに出力します。
  • ファイル・ハンドルを省略するとselectされている出力ファイル・ハンドル(通常は標準出力)に出力します。
  • 書式中に記述するフィールド指定子は%m.nxです。mとnは数字でどちらも省略可能です。xは代表的なものとして,()の文字があります。

    b 2進整数
    c 文字
    d 10進整数
    e 浮動小数点(指数形式)
    f 浮動小数点(固定小数点形式)
    g 浮動小数点(コンパクト形式)
    o 8進整数
    s 文字列
    x 16進整数(小文字)
    X 16進整数(大文字)

使用例

1~20の数値を2桁にそろえて出力する
#!/usr/bin/perl
use strict;
use warnings;

foreach my $i (1..20) {
  printf "%2d\n", $i;
}
1~20の数値を2桁にそろえて出力する
#!/usr/bin/perl
use strict;
use warnings;

foreach my $i (1..20) {
  printf "%02d\n", $i;
}
3.14を浮動小数点の各形式で表示する
#!/usr/bin/perl
use strict;
use warnings;

my $pi = 3.14;
printf "%e\n", $pi;
printf "%f\n", $pi;
printf "%g\n", $pi;
0から20の数値を2進数,8進数,10進数,16進数で表示する
#!/usr/bin/perl
use strict;
use warnings;

foreach my $i (0..20) {
  printf "%5b %2o %2d %2x\n", $i, $i, $i, $i;
}
配列@itemsの各文字列をEnjoyと!を組み合わせて表示する
#!/usr/bin/perl
use strict;
use warnings;

my @items = qw(
  Perl
  PHP
  Python
  Ruby
);

foreach my $item (@items) {
  printf "Enjoy %s!\n", $item;
}
配列@itemsの各文字列をEnjoyと!を組み合わせてファイルtest.txtに出力する
#!/usr/bin/perl
use strict;
use warnings;

my @items = qw(
  Perl
  PHP
  Python
  Ruby
);

my $filename = 'test.txt';

open my $fh, ">", $filename or die "$!:$filename"; 

foreach my $item (@items) {
  printf $fh "Enjoy %s!\n", $item; 
}

close $fh; 
標準入力ないしはコマンドライン・オプションで指定したファイルのデータを行番号付きで出力する
#!/usr/bin/perl
use strict;
use warnings;

while (my $line = <>) {
  printf "%4d: %s", $., $line;
}