in reply to A most obscure bug

Ummm .. Robin?
my $x = 1; die "Oh dear!\n" while my $foo = $x && 0; print "ok!\n"; ------ Oh dear!
It does die under 5.6.1 ... unpatched.

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

Replies are listed 'Best First'.
Re: Re: A most obscure bug
by robin (Chaplain) on Dec 18, 2001 at 20:58 UTC
    Exactly! It shouldn't die, because the condition is false and so the loop body should never be executed.
Re^2: A most obscure bug
by Anonymous Monk on Nov 23, 2004 at 13:14 UTC
    c:\>perl -v This is perl, v5.8.4 built for MSWin32-x86-multi-thread (with 3 registered patches, see perl -V for more detail) c:\>perl my $x = 1; die "Oh dear!\n" while my $foo = $x && 0; print "ok!\n"; ^D ok!