gnupack の Emacs上でperlを開発していたら、どうしても、パターンマッチが巧くいかなくて悩んだ。原因は、CRだった。
gnupack の perl は cygwin由来で、cygwinは改行コードがLFだから、chompしてもLFしかとってくれないらしい。なんてこったい。Windowsのファイルのほとんどは改行がCR+LFだよ。
今いじっているのが、ASCIIぐらいしか使ってないのわかっているから、行末にもしCRがあったら削るってつけてみた。
こうだったかな?
chomp($line); $line =~ s/\x0D$//; #chompよ、CRもとってくれると助かるにゃあ
そうか、後で気がついたけど、chomp は$/ の値を削るから、localに $/を CRLFにすればよかったのか。
perldoc -f chomp
じゃあ、フォルダ区切りもなにかで変換できたのかなぁ。
正規表現で m|[/\\]hoge[/\\]|なんてしなくてもよかったのかな?うーん。