I have a question about when things are and aren't taken to be a list when doing boolean comparisons. I tested the following code: my @foo = qw/ one two three /; my @bar = (); my @baz = @bar @foo; print "@baz\n"; This produces "one two three." Hence, we know that a list CAN be returned from a boolean expression. I tried it the other way: