Never EVER suggest using split to parse a CSV file. That is an extremely reckless and stupid thing to do. Text::CSV, Text::CSV_XS, Text::xSV, and DBD::CSV and all extremely good solutions. Most are even PurePerl, so loading them isn't an issue on any platform.
------
We are the carpenters and bricklayers of the Information Age.
Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose
I shouldn't have to say this, but any code, unless otherwise stated, is untested
| [reply] |
FOO,1,2
BAR,2,3
BARG,29,38
after all we do have split for a reason. On the other hand I think it would be true that if one were to try and process the CSV output of, say, MS Excel with split one is likely to be disappointed with the results, but I wouldn't go so far as you have.
/J\
| [reply] [d/l] [select] |
Just checked out the page on DBD::CSV and that looks like a darn good place to start, thank you
| [reply] |
| [reply] |
use Text::ParseWords;
my @lines = do { open FH, $filename; <FH> };
foreach my $line (@lines)
{
my @parsed_out = quotewords(',', undef, $line);
# Do stuff here
}
---------------
use Text::CSV;
my $parser = Text::CSV->new;
my @lines = do { open FH, $filename; <FH> };
foreach my $line (@lines)
{
$parser->parse( $line );
my @parsed_out = $parser->fields;
# Do stuff here
}
---------------
use Text::xSV;
my $parser = Text::xSV->new;
$parser->open_file( $filename );
while (my $parsed_out = $parser->get_row)
{
# Do stuff here
}
------
We are the carpenters and bricklayers of the Information Age.
Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose
I shouldn't have to say this, but any code, unless otherwise stated, is untested
| [reply] [d/l] |
nope not homework, I know how to manipulate the files just fine, I just don't know how to create totals on fields that are not predetermined. | [reply] |