my $lengthy = do { my @lengths = ( 2, 6, 6 ); my $lix = 0; sub { if( $lix < @lis and $lengths[ $lix ] == length $_ ){ $lix++; return !!1; } return !!0; } };