in reply to Incosistent delimeter
$data = '1, 2, 3,"a,b,c","d", 4'; @a = $data =~ / *(".*?"|[^,]*?) *(?:,|$)/g; pop @a; for (@a) {s/^"(.+?)"$/$1/} print join "\n", @a; [download]