#!/usr/bin/perl -w use strict; use Text::CSV; use Data::Dumper; # a core module use Data::Dump qw(pp); open my $io, '<', \q{"My Company","Gavin","Henry ","ghenry@ghenry.co.uk"," 1.00"}; my $csv = Text::CSV->new(); # nothing "fancy" needed here # defaults are fine while ( my $row = $csv->getline($io) ) { my @fields =map { s/^\s*//; #delete leading spaces s/\s*$//; #delete trailing spaces $_; #this is the "return value" from map #map returns the value of the last #statement - without this $_; you #get the zero or non-zero scalar value #of the last s/// statement } @$row; print "Using pp from Data::Dump...\n"; print pp \@fields; print "\n"; print "Using Dumper from Data::Dumper...\n"; print Dumper \@fields; print "\n"; print "5th field is $fields[4]\n"; } __END__ Prints: Using pp from Data::Dump... ["My Company", "Gavin", "Henry", "ghenry\@ghenry.co.uk", "1.00"] Using Dumper from Data::Dumper... $VAR1 = [ 'My Company', 'Gavin', 'Henry', 'ghenry@ghenry.co.uk', '1.00' ]; 5th field is 1.00
In reply to Re: This looks like whitespace in my CSV but doesn't seem to be
by Marshall
in thread This looks like whitespace in my CSV but doesn't seem to be
by ghenry
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |