# Does not say "true". This is as you describe. say "true" if undef, undef; # Still doesn't say true. say "true" if 1, 2, 3, 4, undef; #### say "true" if 1, 2, 3, 4, undef; #### sub x { 1; 2; 3; 4; return undef; } say "true" if x();