in reply to 'function' calls without parentheses

One other thing not mentioned so far. What you were told in the CB isn't quite right. A subroutine called without parentheses or & is a list operator (except in the special case where you use the () or ($) prototypes), which means that it can take any number of arguments:
sub foo { # do stuff } foo 1, 2, 3, 4;
is perfectly valid.