Perlについての質問箱 4箱目
■ このスレッドは過去ログ倉庫に格納されています
0310デフォルトの名無しさん
NGNGWindows: ActivePerl v5.6.0 build 618 と v5.8.0 build 805
Linux: perl v5.6.0 built for i386-linux
ActivePerlでは、open()で改行コードがCRLFなファイルと開くと、
$_に入ってきた時点で、CR部分が抜け落ちているような…。
CRLFなファイルだと、改行部分は "0D 0A"と表示されるはずなんですが、
open(IN, $file);
while(<IN>){
s/([\x00-\xFF])/sprintf(" %02X", unpack("C",$1))/ge;
print $_ . "\n";
}
close(IN);
ActivePerlでは、"0A"になり、CRが落ちてしまいますが、
Linuxだとちゃんと "0D 0A"になります。
当然の事ながらファイルをバイナリエディタで開くとCRLFな部分は、
"0D 0A"になってます。
回避方法や何が悪いか、わかる方いません?
■ このスレッドは過去ログ倉庫に格納されています