in reply to Re^5: multi level hash terror - if statement to access specific elements
in thread multi level hash terror - if statement to access specific elements

Sorry that's a typo...but using the correct equality operator still results in all surnames getting printed
  • Comment on Re^6: multi level hash terror - if statement to access specific elements

Replies are listed 'Best First'.
Re^7: multi level hash terror - if statement to access specific elements
by beech (Parson) on Feb 13, 2016 at 07:56 UTC

    Sorry that's a typo...but using the correct equality operator still results in all surnames getting printed

    Are all the surnames "Gay"?

    Is this what you have?

    my %names = ( abe => { lincoln => [ 'Cheddar', 'Cheddar', ], }, george => { washington => [ 'Gay', 'Gay', ], }, ); for my $key ( keys %names ) { for my $key2 ( keys $names{$key} ) { if ( $names{$key}{$key2}[0] eq 'Gay' ) { print "Last Name:" . $names{$key}{$key2}[1] . "\n"; } } } __END__ Last Name:Gay

    There is no lincoln/cheddar printed

Re^7: multi level hash terror - if statement to access specific elements
by soonix (Chancellor) on Feb 17, 2016 at 10:52 UTC
    … the correct equality operator …
    Did you notice that == is not the correct equality operator? Most strings numerically evaluate to zero, so
    'apples' == 'pears'
    is true, while
    'apples' eq 'pears'
    is false.