=over

=item all BLOCK LIST

Evaluates the BLOCK for each element of the LIST (locally setting
L<C<$_>|perlvar/$_> to each element) and checks the truth of the result of
that block.  Returns true if every element makes the block yield true, or
returns false if at least one element makes the block false.

As soon as any element makes the block yield false, then the result of this
operator is determined.  It will short-circuit in that case and not consider
any further elements.

When used as a condition, this is similar to using L<C<grep>|/grep BLOCK LIST>
to count that every value satisfies the condition, except for this
short-circuit behaviour.

    if( all { length $_ } @strings ) {
        say "Every string is non-empty";
    }

is roughly equivalent to

    if( @strings == grep { length $_ } @strings ) ...

This operator is only available if the
L<C<keyword_all> feature|feature/"The 'keyword_all' feature"> is enabled.

It is currently considered B<experimental>, and will issue a compile-time
warning in the category C<experimental::all> unless that category is silenced.

=back