The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Data::Dumper::AutoEncode - Dump with recursive encoding

SYNOPSIS

use utf8;
use Data::Dumper::AutoEncode;

eDumper(+{ foo => 'おでん' })

DESCRIPTION

Data::Dumper::AutoEncode stringifies perl data structures including unicode string to human-readable.

example:

use utf8;
use Data::Dumper;

my $foo = +{ foo => 'おでん' };

print Dumper($foo);

It will dump like this

{ foo => "\x{304a}\x{3067}\x{3093}" }

This is not human-readable.

Data::Dumper::AutoEncode exports `eDumper` function. You can use it.

use utf8;
use Data::Dumper::AutoEncode;

my $foo = +{ foo => 'おでん' };

print eDumper($foo);
# { foo => "おでん" }

Also `Dumper` function is exported from Data::Dumper::AutoEncode. It is same as Data::Dumper::Dumper

METHOD

eDumper(LIST)

Dump with recursive encoding(default: utf8)

If you want to encode other encoding, set encoding to $Data::Dumper::AutoEncode::ENCODING.

$Data::Dumper::AutoEncode::ENCODING = 'CP932';
Dumper(LIST)

same as Data::Dumper::Dumper

encode($encoding, $stuff)

encode stuff.

OPTIONS

ENCODING : utf8

Set this option if you need another encoding;

BEFORE_HOOK / AFTER_HOOK

Set code ref for hooks which excuted around encoding

$Data::Dumper::AutoEncode::BEFORE_HOOK = sub {
    my $value = $_[0]; # decoded
    $value =~ s/\x{2019}/'/g;
    return $value;
};

$Data::Dumper::AutoEncode::AFTER_HOOK = sub {
    my $value = $_[0]; # encoded
    // do something
    return $value;
};

CHECK_ALREADY_ENCODED : false

If you set this option true value, check a target before encoding. And do encode in case of decoded value.

DO_NOT_PROCESS_NUMERIC_VALUE : true

By default, numeric values are ignored (do nothing).

FLAG_STR

Additional string (prefix) for encoded values.

REPOSITORY

Data::Dumper::AutoEncode is hosted on github http://github.com/bayashi/Data-Dumper-AutoEncode

AUTHOR

Dai Okabayashi <bayashi@cpan.org>

SEE ALSO

Data::Dumper

THANKS

gfx

tomyhero

LICENSE

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.