use strict; use warnings; use Text::CSV_XS; my $csv = Text::CSV_XS->new({ allow_whitespace => 1 }); my $string = '"", "2.90", "3.00", "3.10", "3.20", "3.30", "3.40", "3.50", ' . '"3.60", "3.70", "3.80", "3.90", "4.00", "4.10", "4.20", "5v"'; if ($csv->parse($string)) { my @fields = $csv->fields; /(\d+\.\d+)/ && ($_ *= 2) for @fields; print "$_\t" for @fields; } else { $csv->error_diag(); } #### 0:12 >perl 1707_SoPW.pl 5.8 6 6.2 6.4 6.6 6.8 7 7.2 7.4 7.6 7.8 8 8.2 8.4 5v 0:12 >