summaryrefslogtreecommitdiff
path: root/lib/Switch.pm
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-05-01 19:21:41 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-05-01 19:21:41 +0000
commit3961318eaa1a2f6d3cdb9971bd0f3734b30294af (patch)
tree7455d5e4fdc5a3c58d46b3bbbb47ddbbc297b042 /lib/Switch.pm
parentb32b0a5d97553a28be45508a0e60a97b2bf53203 (diff)
downloadperl-3961318eaa1a2f6d3cdb9971bd0f3734b30294af.tar.gz
Update to Switch 2.02.
p4raw-id: //depot/perl@9937
Diffstat (limited to 'lib/Switch.pm')
-rw-r--r--lib/Switch.pm16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/Switch.pm b/lib/Switch.pm
index 1b84371a10..2a3093c359 100644
--- a/lib/Switch.pm
+++ b/lib/Switch.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw($VERSION);
use Carp;
-$VERSION = '2.01';
+$VERSION = '2.02';
# LOAD FILTERING MODULE...
@@ -18,10 +18,10 @@ $::_S_W_I_T_C_H = sub { croak "case statement not in switch block" };
my $offset;
my $fallthrough;
-my $nextlabel = 1;
sub import
{
+ $DB::single = 1;
$fallthrough = grep /\bfallthrough\b/, @_;
$offset = (caller)[2]+1;
filter_add({}) unless @_>1 && $_[1] ne '__';
@@ -80,7 +80,7 @@ sub filter_blocks
my $text = "";
component: while (pos $source < length $source)
{
- if ($source =~ m/(\G\s*use\s+switch\b)/gc)
+ if ($source =~ m/(\G\s*use\s+Switch\b)/gc)
{
$text .= q{use Switch 'noimport'};
next component;
@@ -88,20 +88,20 @@ sub filter_blocks
my @pos = Text::Balanced::_match_quotelike(\$source,qr/\s*/,1,1);
if (defined $pos[0])
{
- $text .= substr($source,$pos[2],$pos[18]-$pos[2]);
+ $text .= " " . substr($source,$pos[2],$pos[18]-$pos[2]);
next component;
}
@pos = Text::Balanced::_match_variable(\$source,qr/\s*/);
if (defined $pos[0])
{
- $text .= substr($source,$pos[0],$pos[4]-$pos[0]);
+ $text .= " " . substr($source,$pos[0],$pos[4]-$pos[0]);
next component;
}
if ($source =~ m/\G(\n*)(\s*)switch\b(?=\s*[(])/gc)
{
$text .= $1.$2.'S_W_I_T_C_H: while (1) ';
- @pos = Text::Balanced::_match_codeblock(\$source,qr/\s*/,qr/\(/,qr/\)/,qr/\{/,qr/\}/,undef)
+ @pos = Text::Balanced::_match_codeblock(\$source,qr/\s*/,qr/\(/,qr/\)/,qr/[[{(<]/,qr/[]})>]/,undef)
or do {
die "Bad switch statement (problem in the parentheses?) near $Switch::file line ", line(substr($source,0,pos $source),$line), "\n";
};
@@ -454,8 +454,8 @@ Switch - A switch statement for Perl
=head1 VERSION
-This document describes version 2.01 of Switch,
-released January 9, 2001.
+This document describes version 2.02 of Switch,
+released April 26, 2001.
=head1 SYNOPSIS