Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
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 drinking their drinks and smoking their pipes about the Monastery: (10)
As of 2014-07-24 12:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (160 votes), past polls