Data::Dumper は null 文字を Dump しない
全く知らなくて少しまえに大変にハマったのですが、Data::Dumper は普通に使うと \0 を Dump しないようです。(してるけど見えない?)
my $str = "\0";
Dumper $str; #=> ''
[ unpack("C*", $str) ]; #=> [ 0 ];普段 p を Data::Dumper に展開するようにしてデバッグしているので本当にハマります。
個人的にはデバッグ用に
- utf8 flagged 文字列かどうかが見た目でわかる
- \0 がちゃんと出てくる
- 表示できそうな文字 (英数字・ひらがなカタカナ程度) 以外は全部 \x{} に
みたいなのが簡単にできるモジュールが欲しいのですが既にあるのかな