Smart::CommentsとかData::DumperのUTF-8文字列をエスケープしない

調べてみると色々でてくる。

Smart::Commentsで調べると上のサイトが出てくる。$SIG{__WARN__}をフックする方法らしい。これは毎回このコードを書かないとダメそうなので面倒っぽい。

Dat::Dumperのqquote関数を上書きする方法。

今回はSmart::Commentsさえどうにかなれば良いので、Smart/Comments.pmを書き換える。

use Data::Dumper 'Dumper';
{
    package Data::Dumper;
    no warnings 'redefine' ;
    sub qquote { return wantarray? @_ : shift; }
}
$Data::Dumper::Useperl = 1;
binmode STDERR, ":utf8";

色々マージしてこんな感じかなあ。

以前も同じようなことをしたはずだけど、Cygwinを再インストールしたら変更がもとに戻ってやり方を忘れてしまったのでメモしておく。