in reply to Logical expression evaluation

Please use <code> tags to make your code readable.

!1 returns an empty string (which evaluates as false in a Boolean expression).

--
<http://www.dave.org.uk>

"The first rule of Perl club is you do not talk about Perl club."
-- Chip Salzenberg