I have a line:
$string = \'Paul,12,\"soccer,baseball,hockey\",white\';
I am try to split this into @array that has 4 values so
<
Just use Text::CSV. As you can see from the source, getting CSV parsing right is quite complicated:
sub _make_regexp_split_column {
my ($esc, $quot, $sep) = @_;
if ( $quot eq '' ) {
return qr/([^\Q$sep\E]*)\Q$sep\E/s;
}
qr/(
\Q$quot\E
[^\Q$quot$esc\E]*(?:\Q$esc\E[\Q$quot$esc\E0][^\Q$quot$esc\E]*)*
\Q$quot\E
| # or
[^\Q$sep\E]*
)
\Q$sep\E
/xs;
}