From: Hugo van der Sanden Date: Thu, 6 Mar 1997 07:55:25 +0000 (+0000) Subject: Fix quotewords X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=8f80bccadb089a9fee3b2cbbfe9eb0aa4b7eac40;p=p5sagit%2Fp5-mst-13.2.git Fix quotewords Subject: Re: Fix for ::SUPER with UNIVERSAL In <199703052319.SAA32568@rio.atlantic.net>, Chip Salzenberg writes: :Cute. It turns out that FileHandle and IO::Handle were okay, but the :handling of ::SUPER (which is used by IO::Handle::new) was broken in :the face of UNIVERSAL. : :Here's a patch. That fixes it. Here's one back - I think Text::ParseWords->quotewords is more broken than this, but it's a start. p5p-msgid: 199703060755.HAA15060@crypt.compulink.co.uk --- diff --git a/lib/Text/ParseWords.pm b/lib/Text/ParseWords.pm index f86c8c2..f2e1514 100644 --- a/lib/Text/ParseWords.pm +++ b/lib/Text/ParseWords.pm @@ -95,12 +95,12 @@ sub quotewords { while (length($_)) { $field = ''; for (;;) { - $snippet = ''; - if (s/^"(([^"\\]|\\[\\"])*)"//) { + $snippet = ''; + if (s/^"(([^"\\]|\\.)*)"//) { $snippet = $1; $snippet = "\"$snippet\"" if ($keep); } - elsif (s/^'(([^'\\]|\\[\\'])*)'//) { + elsif (s/^'(([^'\\]|\\.)*)'//) { $snippet = $1; $snippet = "'$snippet'" if ($keep); }