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