改行コードの削除

Perlに付属の改行を削除する関数 'chomp' ではWindowsからLinuxにインポートしたファイル等の改行を削除できない場合がある。システムによって用いる改行コードが異なるため引き起こる。UNIX系では '\x0A' が、Windowsでは '\x0D\x0A' が改行コードとして割り当てられている。このようなシステムによる改行コードの違いを気にせずに改行コードを一気に削除するには以下のコードを用いる。

$line=~s/\x0D\x0A$|\x0D$|\x0A$//;

置換コマンドを用い、何れかの改行コードにマッチする部分を空の文字列に置換することで削除する。このコードにて、文字列が格納された変数 $line から、使用しているシステムに関わらず改行を取り除くことができる。

このエントリーをはてなブックマークに追加

Site search

ページのトップへ戻る