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

Re^5: Loosing Negative Values in Array Ref

by Thelonius (Priest)
on Jun 03, 2009 at 16:01 UTC ( #768064=note: print w/replies, xml ) Need Help??


in reply to Re^4: Loosing Negative Values in Array Ref
in thread Loosing Negative Values in Array Ref

This is very close, see the values for "Zilda Mil", it should display "14.0" but instead its getting the "9.0".
Hmmm, yes, this is because it's using 'gt' rather than '<'. I copied the regex from your program. The best solution (if you're on Perl 5.8 or later) is to use looks_like_number:
use Scalar::Util 'looks_like_number'; for my $aref_acc_num (sort { $a->[0] cmp $b->[0] } values %$acc_num) { push @$all_dta_acc_num, my $tmp = []; for my $aref (@$aref_acc_num) { for my $i (0..1) { $tmp->[$i] = $aref->[$i]; } for my $i (2..$#$aref) { if (!defined($tmp->[$i])) { $tmp->[$i] = $aref->[$i]; } elsif (looks_like_number($tmp->[$i])) { $tmp->[$i] = $aref->[$i] if $aref->[$i] > $tmp->[$i]; } else { $tmp->[$i] = $aref->[$i] if $aref->[$i] gt $tmp->[$i]; } } } }
If you're on an earlier Perl, see perlfaq4.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://768064]
help
Chatterbox?
[Discipulus]: good morning Corion!
[Corion]: I spent parts of yesterday digging into Filter::Simple to make it not change the line numbers of unfiltered code, but I think I need regex help (which will come in a SoPW I guess). I tried @lines = /((?:"...."|[^" \n]+)\n)/gs, but that matched on...
[Corion]: ... foo "\0\0\0\n" bar\n by matching the first \n instead of matching the four-bytes-in- double-quotes part
[Corion]: ... and I still don't understand why ;)
[Corion]: This is because Filter::Simple does some string-trickery, replacing all string literals with "quoted packed numbers"
[Corion]: I fear this might be a bug in the RE engine, but if it is a bug, even fixing won't help me because I need Filter::Simple for Filter::signatures , which provides signatures as a backwards compatibility feature for Perl <5.22 - and these ...
[Corion]: ... won't get a fix anyway ;) My plan B is to encode the string placeholders avoiding \r and \n

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (10)
As of 2017-01-23 08:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you watch meteor showers?




    Results (191 votes). Check out past polls.