in reply to Useless unless

a if (my $o) = b; c unless $o;
Um, that's a list assignment in scalar context you've got there; probably not what you intended:
$ perl -wl print "if!" if (my $o) = 0; print "unless!" unless $o; __END__ if! unless!