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 )