Perl で、ファイルを読み込んで処理する方法

Perl で、改行で区切られたファイルを読み込んで、1行ずつ処理するには、while() {...} のように書けばよい。
#!/usr/bin/perl

# 読み込むファイル名をここに書く
our $INPUT_FILE = 'yourfile.txt';

# ファイルをオープンする
open(IN, $INPUT_FILE) || die("Can't open a file: $!");

# 上の open で与えられた IN で、<IN> というように書き、while 文中で処理できる
while(<IN>) {

    # 1行ずつ表示する
    print $_; # 現在処理中の 1行は $_ で表わす。
}

# ファイルをクローズする
close(IN);
また、 の内容を 1行ずつ細かく処理するには、@IN = ; とするやり方も使える。以下はイテレータのループを while ではなく foreach で処理する例。
#!/usr/bin/perl

# 読み込むファイル名をここに書く
our $INPU_FILE = 'yourfile.txt';

# ファイルをオープンする
open(IN, $INPUT_FILE) || die("Can't open a file: $!");

# 上の open で与えられた IN で、<IN> というように書き、while 文中で処理する
@IN = <IN>;

# $INPUT_FILE の内容は @IN に入ったので、ここでファイルをクローズできる
close(IN);

foreach my $line (@IN) {

    # 1行ずつ表示する
    print $line; # 現在処理中の 1行は $line で表わす。
}
トラックバック URL: https://perltips.twinkle.cc/trackback/73