@parts = $string =~ m{ ( (?: [^\s"]+ # one or more non-quote/whitespace | " [^"]* " # a quoted part )+ # one or more times ) }xg;