8.4 ファイル内の行、段落を後のものから順番に処理する
- 方法1
@lines = <FILE>; while ($line = pop @lines) { # $lineに対する処理を書く }
- 方法2
@lines = reverse <FILE>; foreach $line (@lines) { # $lineに対する処理を書く }
- 方法3: Tie::Fileモジュールを使用
use Tie::File; tie(@lines, "Tie::File", $FILENAME, mode=>0) or die; $max_lines = $#lines; for ($i = $max_lines, $i; $i--) { # $lines[$i]に対する処理を書く(例えば行番号の付加) printf "%5d %s\n", $i+1, $lines[$i]; }