in reply to Subroutines within if statements

In addition to the above (correct) answer, don't use the &subname; construct unless you know why I'm typing this. Use subname; or (and in general preferably) subname(); to call subs without passing arguments.

See perlsub.

update: I see kyle beat me to it.