$cmdline = join(' ',@ARGV); parsetoargv($cmdline); #### sub parsetoargv { my ($cmdline, $idx) = (shift, 0); @ARGV = (); { $cmdline =~ m{ \G\ }gcx && do {redo}; # Eat a space $cmdline =~ m{ \G" }gcx && do { # Start a quoted-string $cmdline =~ m{ \G(.*?)(?