in reply to or or

Well, here's what the perlop manpage says:

So in other words, if you said this:

unlink "alpha", "beta", "gamma" || gripe();

the third argument to unlink would be "gamma" || gripe(); that is, always "gamma" and gripe() would never be evaluated.

'or' is smarter than that. Look at C-style Logical Or and Logical or and Exclusive or on the perlop manpage. It talks a bit about why this happens.

local $_ = "0A72656B636148206C72655020726568746F6E41207473754A"; while(s/..$//) { print chr(hex($&)) }