my $hash_has_non_undef = do { my $found; until($found or not (undef, my $v) = each %hash) { $found = defined $v } $found }; #### my $hash_has_non_undef = do { my $v; until($v or not (undef, $v) = each %hash) { $v = defined $v } $v };