in reply to Re: deleting key/value from hashref
in thread deleting key/value from hashref

I was using Data::Dumper, which is how I know the row was auto-vivifying.

I wasn't using  exists() in the checks I had tried. i was using  defined ... which was wrong.

Replies are listed 'Best First'.
Re^3: deleting key/value from hashref
by ikegami (Patriarch) on Sep 24, 2004 at 19:14 UTC

    defined is fine too.

    %hash = ( key1 => 'bla', key2 => 0, key3 => undef, ); print( exist($hash{'key0'})?1:0, "\n"); # 0 print(defined($hash{'key0'})?1:0, "\n"); # 0 print( $hash{'key0'} ?1:0, "\n"); # 0 print( exist($hash{'key1'})?1:0, "\n"); # 1 print(defined($hash{'key1'})?1:0, "\n"); # 1 print( $hash{'key1'} ?1:0, "\n"); # 1 # catch: print( exist($hash{'key2'})?1:0, "\n"); # 1 print(defined($hash{'key2'})?1:0, "\n"); # 1 print( $hash{'key2'} ?1:0, "\n"); # 0 # catch: print( exist($hash{'key3'})?1:0, "\n"); # 1 print(defined($hash{'key3'})?1:0, "\n"); # 0 print( $hash{'key3'} ?1:0, "\n"); # 0