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

Re^5: Data::Table - empty values - avoid warnings

by GertMT (Friar)
on Oct 25, 2007 at 18:01 UTC ( #647239=note: print w/replies, xml ) Need Help??

in reply to Re^4: Data::Table - empty values - avoid warnings
in thread Data::Table - empty values - avoid warnings

uhm, well. The numbers with comma's as delimiters are just there and just can't seem to get to 5.3 as the result of the calculation. Well, we'll just go on and a hint is appreciated.
Looked at the regex and now asking myself how to implement that.
  • Comment on Re^5: Data::Table - empty values - avoid warnings

Replies are listed 'Best First'.
Re^6: Data::Table - empty values - avoid warnings
by GertMT (Friar) on Oct 25, 2007 at 18:53 UTC
    okay I'm there for the moment. Thank you all.
    I finally put the regex, I was adviced to use, in the place where it works. Code below could be improved because when starting the first column with a 'space' or nothing there won't show up a 0 (zero) in the column but that also wasn't really where I was after.
    Thangs again, rethinking the issue made me learn and get to a solution.
    #!/usr/bin/perl use strict; use warnings; use Data::Table; my $t = new Data::Table( [ [ "1", "2", "3" ], [ "10", "20", "2,3" ] ], [ "A" +, "B" ], 1 ); # create emtpy column my @newCol = (); $newCol[ $t->nofRow - 1 ] = undef; $t->addCol( \@newCol, 'adding_up' ); # to change , into . in respective columns # not needed for a correct calculation of col3 though $t->colsMap( sub { $_->[0] =~ s/,/\./g } ); $t->colsMap( sub { $_->[1] =~ s/,/\./g } ); # Return input if input is an integer, otherwise zero sub to_int_or_zero { my $value = shift; if ( defined($value) # the regex that above hints pointed at. && $value =~ /^-?\d+\.?\d*$/ ) { return $value; } else { return 0; } } # Put the formula in the empty column $t->colsMap( sub { $_->[2] = to_int_or_zero( $_->[0] ) + to_int_or_zero( $_->[1] +); } ); print $t->csv;

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://647239]
[MidLifeXis]: In addition to SOAP (last hour of cb), try water. ;-)
[MidLifeXis]: hahaha: Just received a buzz-word-bingo- compliant email (internal) that starts with "%Firstname% %Lastname%...". It only gets better from there.
choroba finds working in a small company boring comparing to a large corporation
[MidLifeXis]: At least test before mass distribution.
[MidLifeXis]: More opportunities for anonymous snafus :-)
[MidLifeXis]: In a small group / company, at least you know who needs to buy the next round of beer for their mess-up.
[MidLifeXis]: :-)

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2017-01-19 12:14 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (170 votes). Check out past polls.