c:\@Work\Perl>perl -wMstrict -le "my $x = 0; my $y; ;; sub S :lvalue { if ($x) { $y; } } ;; S() = 'foo'; ;; print qq{x '$x' y '$y'}; " Can't modify logical and (&&) in lvalue subroutine return at -e line 1, near "} }" Execution of -e aborted due to compilation errors.