Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: How to compare an empty key with another empty key in associative array

by 2teez (Priest)
on Oct 24, 2012 at 12:58 UTC ( #1000630=note: print w/ replies, xml ) Need Help??


in reply to How to compare an empty key with another empty key in associative array

Hi nandymamith,

  • $a = ''; $b = {};
    You really don't want to use $a and $b which are aliases for the two operands being compared in a sortsub.
  • That been said, $a and $b in above are two different things in perl. While $a is an empty scalar variable, $b is a reference to an anonymous hash, created using curly brackets which is empty in this case

  • However, in this case, you can compare these, printing what you want like so:
    use warnings; use strict; my $empty_str = q{}; my $empty_hash_ref = { q{} => q{}, }; for ( keys %$empty_hash_ref ) { $empty_str eq $_ ? print "PASS" : print "FAIL"; ## print PASS } ## use smartmarch ~~ $empty_str ~~ $empty_hash_ref ? print "PASS" : print "FAIL"; ## print +PASS
  • Note however, that iterating through the hash comparing either the keys or values of the hash with the empty scalar variable, when the hash is empty ( with no variable atall) will print nothing, but using the smart match ~~ Operator will print "FAIL"
  • .
    my $empty_str = q{}; my $empty_hash_ref = {}; ## why? for (keys %$empty_hash_ref){ $empty_str eq $_? print "PASS": print "FAIL"; # print nothing } $empty_str~~$empty_hash_ref?print "PASS": print "FAIL"; # print FAI +L

Hope this helps

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me


Comment on Re: How to compare an empty key with another empty key in associative array
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1000630]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (14)
As of 2015-07-07 17:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls