in reply to Treating a scalar as an "input file"

I wouldn't recommend Text::CSV either but mostly because it never worked well for me. Text::CSV_XS *is* maintained and by our very own jZed who has a bunch of other modules as well. Text::xSV is by tilly. I never bothered with it because I already had something spiffy.

Of course, updates per year aren't important either. If the author of Text::CSV had handled the parsing difficulties nince years ago, it's be perfectly fine to have no updates for all that time. You only update something when it needs changes.

use Text::CSV_XS; # which is maintained by jZed and well loved by all # Read it as a handle w/ binary if newlines might be embedded in your +data my $csv = Text::CSV_XS->new( binary => 1 ); open my $fh, \ $your_string; while ( my $columns = $csv->getline( $fh ) ) { ... } # Or just read it like a string if you never have newlines inside a va +lue. while ( $str =~ /(.+)/g ) { my $line = $1; my $columns = $csv->parse( $line ); }

⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊