Perl-Critic-Policy-ControlStructures-LoopsRequireLabels

 view release on metacpan or  search on metacpan

t/ControlStructures/LoopsRequireLabels.run  view on Meta::CPAN


## name mode nested inner loop labeled break ok
## parms { mode => 'nested' }
## failures 0
## cut

while (1) {
    INNER: while (1) {
        next INNER;
    }
}

## name mode nested top-level but long body flagged by max_lines
## parms { mode => 'nested', max_lines => 3 }
## failures 2
## cut

while (1) {
    print "a";
    print "b";
    next;
}

## name mode nested top-level short body not flagged
## parms { mode => 'nested', max_lines => 3 }
## failures 0
## cut

while (1) {
    next;
}

## name mode max_lines short loop no violation
## parms { mode => 'max_lines', max_lines => 5 }
## failures 0
## cut

while (1) {
    next;
}

## name mode max_lines long loop
## parms { mode => 'max_lines', max_lines => 2 }
## failures 3
## cut

while (1) {
    next;
    last;
}

## name mode max_lines exactly at threshold
## parms { mode => 'max_lines', max_lines => 3 }
## failures 0
## cut

while (1) {
    next;
}

## name cascade outer labeled inner bare break
## parms { mode => 'always' }
## failures 2
## cut

OUTER: while (1) {
    while (1) {
        next;
    }
}

## name cascade outer labeled triple nested
## parms { mode => 'always' }
## failures 2
## cut

OUTER: while (1) {
    while (1) {
        while (1) {
            next;
        }
    }
}

## name cascade all loops labeled innermost break bare
## parms { mode => 'nested' }
## failures 1
## cut

OUTER: while (1) {
    MIDDLE: while (1) {
        INNER: while (1) {
            next;
        }
    }
}

## name outer and inner both labeled everything fine
## parms { mode => 'nested' }
## failures 0
## cut

OUTER: while (1) {
    INNER: while (1) {
        next INNER;
    }
}

## name mode always all unlabeled nested
## parms { mode => 'always' }
## failures 4
## cut

while (1) {
    next;
    while (1) {
        next;
    }
}

## name bare block inside loop break in scope
## parms { mode => 'always' }
## failures 2
## cut

while (1) {
    {
        next;
    }
}

## name until outer loop with nested inner
## parms { mode => 'nested' }
## failures 2
## cut

until ($done) {
    while (1) {
        next;
    }
}

## name redo with label reference
## parms { mode => 'always' }
## failures 0



( run in 1.679 second using v1.01-cache-2.11-cpan-9581c071862 )