8.2 ファイル内の行数(段落数、レコード数)をカウントする

ファイル内の行数をカウントしたい

  • wcコマンドを使用する方法
$cound = `wc -l < $file`;
die "wc failed: $?" if $?;
chomp($cound);
  • ファイルをオープンして、1行ずつカウントする
open(FILE, "<", $file) or die;
$count++ while <FILE>;
# $countには読み込んだ行の数が格納される。
  • 最も速い方法(ただし、行終端文字列が"\n"の場合)
$cound += tr/\n/\n/ while sysread(FILE, $_, 2**20);
  • 段落の数をカウントする
$/ = "";    # 段落単位で読み込み
open(FILE, "<", $file) or die;
1 while <FILE>;
$para_count = $.;