If the second value is null as in something like
The the entire pattern will not match since the second value is required according to the regex. Also, a simple test of adding a print statement during the match will educate you that the $1 and $2 are not carried over.__DATA__ name1 4.5 name3 name5 6.5 name4 -7.9 name6 3.2
Notice the added print line will show you that $1 and $2 are empty, not the previous values.my @order = qw(name1 name2 name3 name4 name5 name6); map{/(\S+)\s+(-?[\d.]+)/;$a{$1}=$2?$2:'';print "$1 -- $2 \n";}<DATA>; map{push(@result,defined $a{$_} ? $a{$_} : 999)}@order; print join("\n", @result),"\n"; __DATA__ name1 4.5 name3 name5 6.5 name4 -7.9 name6 3.2
So, to conclude -- actually running it would have shown you that there was no error.
In reply to Re: Re: Re: Re: Comparing hashes and arrays
by Sifmole
in thread Comparing hashes and arrays
by Evanovich
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |