in reply to Re: how to use "delete" with a hash of hash
in thread how to use "delete" with a hash of hash

thank you both! but i just realized something, i actually meant to say i used the "delete" call this way

$a = "item2"; delete $hoh{$a};

it deleted the sub-level hash but not the key "item2" itself

Replies are listed 'Best First'.
Re^3: how to use "delete" with a hash of hash
by muba (Priest) on Jan 29, 2013 at 05:44 UTC

    Please post a piece of code that demonstrates the problem, including expected result and actual result. I could not reproduce the issue from your problem description.

    use Data::Dumper; %hoh = ( 'item1' => { 'key1' => '1', 'key2' => '1', 'key3' => '0' }, 'item2' => { 'key1' => '0', 'key2' => '1' } ); print "Before delete:\n"; print Dumper \%hoh; my $a = "item2"; delete $hoh{$a}; print "\n\nAfter delete:\n"; print Dumper \%hoh; print "$a deleted!" if not exists $hoh{$a};
    Before delete: $VAR1 = { 'item1' => { 'key2' => '1', 'key1' => '1', 'key3' => '0' }, 'item2' => { 'key2' => '1', 'key1' => '0' } }; After delete: $VAR1 = { 'item1' => { 'key2' => '1', 'key1' => '1', 'key3' => '0' } }; item2 deleted!

    That being said, you should abstain from using $a and $b as variables, as they have special meaning to the sort function.