http://qs1969.pair.com?node_id=451438


in reply to Copy of an anonymous hash?

my $new_element = {%{$hash_array[$index]}};


holli, /regexed monk/

Replies are listed 'Best First'.
Re^2: Copy of an anonymous hash?
by DrHyde (Prior) on Apr 26, 2005 at 09:37 UTC
    That works, but only if the hash contains simple scalars. If it contains any references, the reference will be copied, so you'll have two references to the same thingy. If that matters, I recommend using the Storable module and its dclone function.

    This won't solve the problem of references to items outside the structure, but that's not usually a problem that needs solving anyway.

Re^2: Copy of an anonymous hash?
by tphyahoo (Vicar) on Apr 26, 2005 at 14:16 UTC
    I believe
    my $new_element = \%{$hash_array[$index]};
    would also work. (Right?)

    UPDATE: I meant, my referencing syntax would work as well as hollis. This is right... right?

      Nope, it'll still point to the same underlying hash.

      freebie:~ 702> perl -le '$a={qw(a b)};$b=\%{$a};print "$a\t$b"' HASH(0x804c844) HASH(0x804c844)