in reply to 'Looping' through a variable
Since Perl 5.8, scalars can be used as file buffers. This is useful if your CSV modules requires a file handle. (I used Text::CSV which does not.)
use Text::CSV qw( ); my $content = ...; my $csv = Text::CSV->new(); open my $csv_fh, '<', \$content; while (<$csv_fh>) { my $status = $csv->parse($_) or die; my @fields = $csv->fields(); ... }
If you don't require a file handle, it's simple to extract lines yourself.
use Text::CSV qw( ); my $content = ...; my $csv = Text::CSV->new(); while (length($content)) { my ($line) = $content =~ s/^([^\r\n]*)\r?\n?//; my $status = $csv->parse($line) or die; my @fields = $csv->fields(); ... }
Update: Added second snippet. Allowed for \r\n.
|
|---|