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 @_ ; ()}