DB<25> sub first (&@) { my $code=shift; grep {return $_ if &$code} @_ } DB<26> first { $_ >5 } 1..10 => 6 DB<27> first { $_ >10 } 1..10 DB<28> sub any (&@) { my $code=shift; grep {return 1 if &$code} @_ ; ()} DB<29> any { $_ >10 } 1..10 => "" DB<30> any { $_ >5 } 1..10 => 1 #### DB<40> sub position (&@) { my $code=shift; my $idx=-1; grep {++$idx; return $idx if &$code} @_ ; ()} DB<41> position { !$_ } 1..10,undef,11..20 => 10 #### DB<53> sub first (&@) { my $code=shift; &$code and return $_ for @_ ; ()} DB<54> sub any (&@) { my $code=shift; &$code and return 1 for @_ ; ()}