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

Your code has now an error, that mine has not, if the second value is null.
/(\S+)\s+(-?[\d.]+)/;
If the second value is null the re doesn't match and $2 is the one of the match before.
Update:
Sorry i dont read that bbfu has fixed it adding ?

$anarion=\$anarion;

s==q^QBY_^=,$_^=$[x7,print

Replies are listed 'Best First'.
Re: Re: Re: Re: Comparing hashes and arrays
by Sifmole (Chaplain) on Sep 06, 2001 at 22:53 UTC
    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.