Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Answer: How can I split on a string except when inside quotes?

by Anonymous Monk
on Nov 28, 2001 at 19:40 UTC ( #128065=categorized answer: print w/replies, xml ) Need Help??

Q&A > regular expressions > How can I split on a string except when inside quotes? - Answer contributed by Anonymous Monk

This doesn't handle all the subtle things (backslashes, single-quotes, etc) that Text::ParseWords does, but it works for the simple cases, and produces your expected output exactly (quotes intact): my @items = ($string =~ /(".*?"|\S+)/g);