Data::Dumperを使用してのシリアライズ

標準モジュールのみで。

use strict;
use Data::Dumper;

my $hash={ a=>"b", b=>"c", };
my $vij = Dumper($hash);
print ("org:" , $vij);
{
    local $Data::Dumper::Purity = 1;
    my $val = undef;
    eval Data::Dumper->Dump([$hash],['val']);
    ($@) && die "die!!  $@";
    (!defined $val) && die "fail eval   ";
    print ("copy2:",Dumper($val));
    print (":$val->{a}");
}