in reply to Re: Re: Re: Comparing hashes and arrays
in thread Comparing hashes and arrays

Did you actually run it before you told me it was wrong?

If the second value is null as in something like

__DATA__ name1 4.5 name3 name5 6.5 name4 -7.9 name6 3.2
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.
Run this to see...
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
Notice the added print line will show you that $1 and $2 are empty, not the previous values.

So, to conclude -- actually running it would have shown you that there was no error.