#!perl use strict; use warnings; use Data::Dumper qw(Dumper); use Tie::IxHash; tie (my %x, 'Tie::IxHash'); %x = ( 'A' => 1, 'B' => 2, 'C' => 3, ); print join "", (map { "$_ = $x{$_}\n" } keys %x), "\n"; my $x = Tie::IxHash->new(%x); my $dumped; { local $Data::Dumper::Terse = 1; $dumped = Dumper($x); } print "Dumper: $dumped\n"; undef $x; print "\$x is undef\n\n" unless $x; my $y = eval $dumped; tie (my %y, 'Tie::IxHash'); @y{$y->Keys} = $y->Values; print join "", (map { "$_ = $y{$_}\n" } keys %y), "\n"; __END__ A = 1 B = 2 C = 3 Dumper: bless( [ { 'A' => '0', 'C' => '2', 'B' => '1' }, [ 'A', 'B', 'C' ], [ '1', '2', '3' ], 0 ], 'Tie::IxHash' ) $x is undef A = 1 B = 2 C = 3