\cM\cJ って何。

binmodeのドキュメントに出てくる、\cM \cJ が何を意味しているのか分からなかったので調べた。

\cM、\cJ は制御文字で、
\cM は、\r と同じ。
\cJ は、\n と同じ。

という結論に至ったのだが、合ってるのかな。

#!/usr/bin/perl
print unpack( "H2", "\cM" ), "\n";
print unpack( "H2", "\r" ), "\n";
print unpack( "H2", "\cJ" ), "\n";
print unpack( "H2", "\n" ), "\n";

結果

0d
0d
0a
0a


Perlの環境による、改行コードの処理を理解してなくてすごく回り道をした気がする。