From: Stevan Little Date: Wed, 29 Jul 2009 21:03:27 +0000 (-0400) Subject: emergency fix for bad variable usage X-Git-Tag: 0.91~3 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2dfbb99a9523ef663556e55f9121da8c9c56139d;p=gitmo%2FClass-MOP.git emergency fix for bad variable usage --- diff --git a/lib/Class/MOP/Method/Wrapped.pm b/lib/Class/MOP/Method/Wrapped.pm index 1186ad8..bda6c95 100644 --- a/lib/Class/MOP/Method/Wrapped.pm +++ b/lib/Class/MOP/Method/Wrapped.pm @@ -26,10 +26,9 @@ my $_build_wrapped_method = sub { $modifier_table->{after}, $modifier_table->{around}, ); - my $c; if (@$before && @$after) { $modifier_table->{cache} = sub { - for $c (@$before) { $c->(@_) }; + for my $c (@$before) { $c->(@_) }; my @rval; ((defined wantarray) ? ((wantarray) ? @@ -38,14 +37,14 @@ my $_build_wrapped_method = sub { ($rval[0] = $around->{cache}->(@_))) : $around->{cache}->(@_)); - for $c (@$after) { $c->(@_) }; + for my $c (@$after) { $c->(@_) }; return unless defined wantarray; return wantarray ? @rval : $rval[0]; } } elsif (@$before && !@$after) { $modifier_table->{cache} = sub { - for $c (@$before) { $c->(@_) }; + for my $c (@$before) { $c->(@_) }; return $around->{cache}->(@_); } } @@ -59,7 +58,7 @@ my $_build_wrapped_method = sub { ($rval[0] = $around->{cache}->(@_))) : $around->{cache}->(@_)); - for $c (@$after) { $c->(@_) }; + for my $c (@$after) { $c->(@_) }; return unless defined wantarray; return wantarray ? @rval : $rval[0]; } @@ -71,10 +70,10 @@ my $_build_wrapped_method = sub { sub wrap { my ( $class, $code, %params ) = @_; - + (blessed($code) && $code->isa('Class::MOP::Method')) || confess "Can only wrap blessed CODE"; - + my $modifier_table = { cache => undef, orig => $code, @@ -88,7 +87,7 @@ sub wrap { $_build_wrapped_method->($modifier_table); return $class->SUPER::wrap( sub { $modifier_table->{cache}->(@_) }, - # get these from the original + # get these from the original # unless explicitly overriden package_name => $params{package_name} || $code->package_name, name => $params{name} || $code->name,