「ファイルの読み込みと行の処理」で、 ファイルの読み込み方を学びました。そこでは
$line = <DATA>のようにして行データを変数に格納しました。 このとき格納する変数名を省略すると、行データは特殊変数 $_ に格納されます。 さらに、ファイル名を引数としてスクリプトを実行したり、 またはリダイレクトによるデータ入力を行なう場合は、 ファイルハンドルを省略することができます。 次の例はファイル(行数は100未満)の各行に行番号をつけて出力するスクリプトです。 ncat.pl -- 実行結果
#!/usr/bin/perl $linenumber = 1; while(<>) { printf "%2d ", $linenumber; print; $linenumber++; } |
(注) 単に print; とすると $_ が出力されます。
ファイルを新しく作ってそこに書き込むには、次のようにします:
open (OUT, ">filename") || die "Can't open output file: $!\n"; print OUT ("......."); .... .... close OUT; |
(注) すでに存在するファイルに追加して書き込むときは、 上の ">filename" のところを ">>filename" とします。