Using parse_line() of Text::ParseWords:
parse_line()
use 5.010; use Text::ParseWords; my $line = q{"a quoted, comma", word1, word2}; my @parsed = parse_line(',', 1, $line); say for @parsed;
Output:
"a quoted, comma" word1 word2