Help for this page
@parts = split m{ " # if we match a quote (?{ ++$x }) # increment quote counter ... (?!) # fail ) # (otherwise succeed) }x, q{A B "C D" E F"G H" I};
@parts = $string =~ m{ (?=\S) # so long as there's something ahead of us: [^\s"]* # non-quotes non-whitespace ... [^\s"]* # non-quotes non-whitespace )* # zero or more times }xg;