in reply to Re: Data::Dumper with unicode
in thread Data::Dumper with unicode

Only for debugging So data should be human readable. Yep, i can use Data::Printer. But it isn't core and requires many other packages.

Replies are listed 'Best First'.
Re^3: Data::Dumper with unicode
by haukex (Archbishop) on Oct 11, 2016 at 09:53 UTC

    Hi bash,

    Only for debugging So data should be human readable.

    I think that's a tricky situation, because if you're debugging, it may be important to be able to see the differences between, for example, various Unicode whitespace characters. I suspect you only want to prevent certain characters from being escaped? That means you'd have to pick and choose.

    Personally I don't find Data::Printer's dependency tree to be too bad. But just in case you're looking for something else, it might be possible to roll your own with Data::Dump::Filtered:

    use warnings; use strict; use open qw/:std :utf8/; my $str = "\$\x{2142}\x{1D1A}\x{018E}\x{0500}\x{2003}\""; use Data::Dump 'pp'; use Data::Dump::Filtered qw/add_dump_filter/; add_dump_filter( sub { my ($ctx, $objref) = @_; if ($ctx->is_scalar) { #TODO: this doesn't escape, not really that great! return { dump => "\"$$objref\"" }; } return; # normal dumping } ); print '$str=',pp($str),";\n";

    Hope this helps,
    -- Hauke D

      Yep, it could be solution. Thank you