導入
Perl が今も愛される大きな理由が、ログやCSVなどファイルのテキスト処理の手軽さです。open でファイルを開き、1行ずつ処理するのが基本形です。
説明
open(my $fh, '<', 'ファイル名') or die ...; でファイルハンドル $fh を得ます。モードは <(読み込み)・>(新規書き込み)・>>(追記)です。読み込みは while (my $line = <$fh>) で1行ずつ回すのが定番です。
use strict;
use warnings;
open(my $in, '<', 'data.txt') or die "開けません: $!";
while (my $line = <$in>) {
chomp $line; # 末尾の改行を取り除く
print "読んだ: $line\n";
}
close($in);
書き込みは > で開いて print $fh ... します。既存の内容は消えるので注意します(追記したいときは >>)。
use strict;
use warnings;
open(my $out, '>', 'result.txt') or die "書けません: $!";
print $out "1行目\n";
print $out "2行目\n";
close($out);
$! には直前のエラー内容が入っています。or die "... $!" はファイル操作の定番の書き方です。ログから特定の行だけ抜き出す、といった処理は、この while + 正規表現(第7章)の組み合わせで書けます。
(このコースの実行ウィジェットはブラウザ内で動くため、実ファイルの読み書きは対象外です。上のコードは手元の perl で試してください。)