$\ = "\n";
sub foo
{
print("one");
}
foo(); // mark1
sub foo
{
print("two");
}
foo(); //mark2
Run Code Online (Sandbox Code Playgroud)
执行上面的代码时,输出将是:两个,两个.据我所知Perl是一个解释器,所以当调用foo(mark1)时,不应该首先打印,而当调用foo()(mark2)时必须打印两个.但是为什么两个时间都打印两个,请解释一下怎么样?