たてたてよこよこまるかいてちょん

組み込み関連の情報を共有するためのブログです

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[/\\]|なんてしなくてもよかったのかな?うーん。

記事のLicense このブログの記事は特に断りのない限り、引用部分を除いて、以下の CC-BY 4.0でライセンスします。 https://creativecommons.org/licenses/by/4.0/deed.ja ただし、ブログ内にあるコードは、特に断りのない限り、CC-BY 4.0またはMITLicense で利用できるものとします。