http://qs321.pair.com?node_id=42889

klash has asked for the wisdom of the Perl Monks concerning the following question:

I want to copy a nested data structure. The FAQ tells me:

The Data::Dumper module on CPAN is nice for printing out data structures, and FreezeThaw for copying them. For example:

      use FreezeThaw qw(freeze thaw);
      $new = thaw freeze $old;
Where $old can be (a reference to) any kind of data structure you'd like. It will be deeply copied.

However, the following program:

use FreezeThaw qw(freeze thaw); use Data::Dumper; $hashref = { a => {}, b => {} }; print Dumper($hashref); $copy = thaw freeze $hashref; print Dumper($copy);
gives the following output:
$VAR1 = {
          'a' => {},
          'b' => {}
        };
$VAR1 = 1;
What's the problem?