Devel-Refactor
view release on metacpan or search on metacpan
Refactor.pm view on Meta::CPAN
my $reg;
my $reg2;
my $reg3; # To find loops variables declared in for and foreach
# figure out which are declared in the snippet
foreach my $var ( keys %{ $self->{scalar_vars} } ) {
$reg = "\\s*my\\s*\\$var\\s*[=;\(]";
$reg2 = "\\s*my\\s*\\(.*?\\$var.*?\\)";
$reg3 = "(?:for|foreach)\\s+my\\s*\\$var\\s*\\(";
if ( $var =~ /(?:\$\d+$|\$[ab]$)/ ) {
$self->{local_scalars}->{$var}++;
} elsif ( $self->{code_snippet} =~ /$reg|$reg2/ ) {
$self->{local_scalars}->{$var}++;
# skip loop variables
if ( $self->{code_snippet} =~ /$reg3/ ) {
$self->{loop_scalars}->{$var}++;
}
}
}
foreach my $var ( keys %{ $self->{array_vars}} ) {
( run in 0.280 second using v1.01-cache-2.11-cpan-cc502c75498 )