As a way of illustrating this point, here's the OP's first code block after being run through perl -MO=Deparse buggy.pl:
if (die '4') { (); }
The B::Deparse module (called by the above command) shows you the Perl equivalent of what the interpreter sees at runtime. This is extremely useful for finding this "compile-time vs. run-time" class of behaviors.
In reply to Re^2: die/warn bug in elsif
by radiantmatrix
in thread die/warn bug in elsif
by tlm
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |