pairfirst#
Return the first pair for which a block returns true.
Synopsis#
my ($k, $v) = pairfirst { BLOCK } @kvlist;
my $found = pairfirst { BLOCK } @kvlist; # scalar context
For each pair the block is called in scalar context with $a set
to the key and $b set to the value. pairfirst stops at the
first pair for which the block returns true.
What you get back#
In list context, the matching ($key, $value) pair, or an empty
list if nothing matched. In scalar context, a boolean indicating
whether any pair matched. $a and $b are aliased to the
original list elements.
Examples#
my ($k, $v) = pairfirst { $a =~ /^upper_/ } %config;
if ( pairfirst { $b > 1_000 } %totals ) {
warn "at least one big entry";
}
Differences from upstream#
Fully compatible with upstream.
See also#
first— non-pair equivalent, uses$_.pairgrep— collect every matching pair.