Not to be a jerk, but how about:
my $is_ok = 1; for @array_of_random_values_and_types -> $t { if not some_sort_of_test($t) { $is_ok = 0; last; } } if $is_ok { yada() # has sideeffects... }
That's just:
given @array_of_random_values_and_types -> @data { for @data.kv, [EMAIL PROTECTED] -> $i, $t { when [EMAIL PROTECTED] { yada() } last if not some_sort_of_test($t); } }
;-)
Damian