Perl-Critic
view release on metacpan or search on metacpan
t/Subroutines/ProhibitNestedSubs.run view on Meta::CPAN
## name Basic passing
## failures 0
## cut
sub foo { my $bar = sub { 1 } }
sub foo { } sub bar { }
#-----------------------------------------------------------------------------
## name Basic failure
## failures 2
## cut
sub foo { sub bar { 1 } }
sub foo { if (1) { do { sub bar { 1 } } } }
#-----------------------------------------------------------------------------
## name Subroutine declarations inside scheduled blocks used for lexical scope restriction.
## failures 0
## cut
CHECK {
my $foo = 1;
sub bar { return $foo }
}
#-----------------------------------------------------------------------------
## name Scheduled blocks inside subroutine declarations.
## failures 0
## cut
sub quack {
state $foo;
UNITCHECK {
$foo = 1;
}
}
#-----------------------------------------------------------------------------
## name Subroutine declarations inside scheduled blocks inside subroutine declarations.
## failures 1
## cut
sub quack {
INIT {
my $foo = 1;
sub bar { return $foo }
}
}
#-----------------------------------------------------------------------------
## name Lexical subroutine declarations inside subroutine declarations.
## failures 0
## cut
sub foo {
my sub bar { 1 }
}
#-----------------------------------------------------------------------------
## name Subroutine declarations inside lexical subroutine declarations.
## failures 1
## cut
my sub foo {
sub bar { 1 }
}
#-----------------------------------------------------------------------------
## name Lexical subroutine declarations inside lexical subroutine declarations.
## failures 0
## cut
my sub foo {
my sub bar { 1 }
}
#-----------------------------------------------------------------------------
## name Subroutine declarations inside subroutine declarations inside subroutine declarations.
## failures 2
## cut
sub foo {
sub bar {
sub baz { 1 }
}
}
( run in 1.575 second using v1.01-cache-2.11-cpan-39bf76dae61 )