8.8 ファイル内の特定の行を読み込む

  • 所要の行に到達するまで行を読み込む
# 行番号$DESIRED_LINE_NUMBERの行を探索する
$. = 0;
do { $line = <HANDLE> } until $. == $DESIRED_LINE_NUMBER || eof;
  • ファイル内の各行を配列に格納する
@lines = <HANDLE>;
$LINE = $lines[$DESIRED_LINE_NUMBER];
  • Tie::Fileモジュールを使用して、ファイルを配列にtieする。
use Tie::File;
use Fcntl;

tie(@lines, Tie::File, $FILE, mode => O_RDWR) or die;
$line = $lines[$sought - 1];
  • DB_FileモジュールのDB_RECNOメソッドを使用
use DB_File;
use Fcntl;

$tile = tie(@lines, DB_File, $FILE, O_RDWR, 0666, $DB_RECNO) or die;
$line = $lines[$sought - 1];