请解释为什么这些Perl函数被称为的方式高于函数的定义确定它们是否运行。为什么你可以在声明sub foo之前调用foo()和&foo,但是你不能调用plain foo?
print "Why does this bare call to foo not run?\n";
foo;
print "When this call to foo() does run?\n";
foo();
print "And this call to &foo also runs?\n";
&foo;
sub foo {
print " print from inside function foo:\n";
}
print "And this bare call to foo below the function definition, does run?\n";
foo;