Failing matches don't reset numbered variables.
[p5sagit/p5-mst-13.2.git] / lib / Text / ParseWords.pm
index cca28bf..94e6db7 100644 (file)
@@ -63,7 +63,7 @@ sub parse_line {
                   ^((?:\\.|[^\\"'])*?)         # an $unquoted text
                    (\Z(?!\n)|(?-x:$delimiter)|(?!^)(?=["']))  
                                                # plus EOL, delimiter, or quote
-                 //xs;                         # extended layout
+                 //xs or return;               # extended layout
        my($quote, $quoted, $unquoted, $delim) = ($1, $2, $3, $4);
        return() unless( defined($quote) || length($unquoted) || length($delim));