$_ = "'foo',123,'bar\\'cuz', 'comma,comma',,'void'"; while(/('(.*?)'|([^']*?))($|,\s*)/g) { my $t = $2 || $3; print ">$t\n"; } ___________ >foo >123 >bar\'cuz >comma,comma > >void >