2008年03月27日

Perlの改行文字コード

Linux上で動いていたPerlスクリプトがWindows上で予想と反する動作をしたので原因を調べるとchompで改行を削除するときの動作に問題があり、改行コードが残ってしまうため、正規表現が正しくマッチしなかったことが原因だった。

chomp動作の詳細は以下を参照。参照ページの2に今回は該当したようだ。
改行コードとchomp

対応策はこんな感じ。
$_ =~ s/\r\n/\n/g;
$_ =~ s/\r/\n/g;
chomp;
LFに統一してからchomp;

Perlは改行文字コードやテキストの文字コードの問題が正規表現で表面化することが多い・・・。結構嫌だ。

Comment on "Perlの改行文字コード"

"Perlの改行文字コード"へのコメントはまだありません。

Post a Comment

コメントする

コメント登録機能が設定されていますが、TypeKey トークンが設定されていません。