local(@words,$snippet,$field,$_);
$_ = join('', @lines);
- while ($_) {
+ 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);
}
$snippet = $1;
$snippet = "\\$snippet" if ($keep);
}
- elsif (!$_ || s/^$delim//) {
+ elsif (!length($_) || s/^$delim//) {
last;
}
else {
- while ($_ && !(/^$delim/ || /^['"\\]/)) {
+ while ($_ ne '' && !(/^$delim/ || /^['"\\]/)) {
$snippet .= substr($_, 0, 1);
substr($_, 0, 1) = '';
}