gaggitのブログ

コーディング、ガジェット、TIPS関連、FX

Perl File::ReadBackwards を使用してみた

 PerlでFile::ReadBackwardsモジュールを使用してみました。このモジュールは、ファイルを逆から読み込むので、ファイルの最後付近にある文字列を抽出したい場合に役立ちます。

使用しているPerlWindows版なので、このモジュールのレコードセパレータは\r\nなりますが、読み込むファイルはWindows版のcurlの-oオプションの出力ファイルなのに、なぜかレコードセパレータは\nでした。

幸い、このモジュールには、レコードセパレータを変更できるようにnewメソッドの第2引数で指定できます。

 

修正前:

my $bw = File::ReadBackwards->new($html_file);

 

修正後:

my $bw = File::ReadBackwards->new($html_file,"\n");

 

\nは、ダブルクォーテーションで囲ってください。シングルクォーテーションでは、\とnの文字列を改行として認識して、意図した動作をしません。