fu7mu4’s diary

はてなダイアリーから移転しました。

chomp by Cygwin は改行コードがLF

gnupack の Emacs上でperlを開発していたら、どうしても、パターンマッチが巧くいかなくて悩んだ。原因は、CRだった。


gnupack の perlcygwin由来で、cygwinは改行コードがLFだから、chompしてもLFしかとってくれないらしい。なんてこったい。Windowsのファイルのほとんどは改行がCR+LFだよ。

今いじっているのが、ASCIIぐらいしか使ってないのわかっているから、行末にもしCRがあったら削るってつけてみた。

こうだったかな?

chomp($line);
$line =~ s/\x0D$//; #chompよ、CRもとってくれると助かるにゃあ

そうか、後で気がついたけど、chomp は$/ の値を削るから、localに $/を CRLFにすればよかったのか。

perldoc -f chomp

じゃあ、フォルダ区切りもなにかで変換できたのかなぁ。
正規表現で m|[/\\]hoge[/\\]|なんてしなくてもよかったのかな?うーん。