2008年03月27日
Perlの改行文字コード
Linux上で動いていたPerlスクリプトがWindows上で予想と反する動作をしたので原因を調べるとchompで改行を削除するときの動作に問題があり、改行コードが残ってしまうため、正規表現が正しくマッチしなかったことが原因だった。
chomp動作の詳細は以下を参照。参照ページの2に今回は該当したようだ。
改行コードとchomp
対応策はこんな感じ。
$_ =~ s/\r\n/\n/g;
$_ =~ s/\r/\n/g;
chomp;
LFに統一してからchomp;
Perlは改行文字コードやテキストの文字コードの問題が正規表現で表面化することが多い・・・。結構嫌だ。
"Perlの改行文字コード"へのコメントはまだありません。