Which of these subroutines is not like the other?
sub or1 { my ($a,$b) = @_; return $a || $b; } sub or2 { my ($a,$b) = @_; $a || $b; } sub
Both versions are short-circuiting in Perl, but the 'textual' forms ('and' and 'or') have a lower precedence than their C-style equivalents.
http://www.sdsc.edu/~moreland/courses/IntroPerl/docs/manual/pod/perlop.html#Logical_And