level 5
函数调用最好带括号,无参数调用带空括号。
无括号调用函数会把调用者的@_传给被调用函数,即:
sub a {
print "@_\n";
&b;
}
sub b {
print "@_\n";
}
&a(1, 2, 3, 4);
这段代码会打印两行1 2 3 4,说明a在调用b的时候把1 2 3 4传过去了,
函数调用时,子过程在调用@_的时候进行了类似local的操作,把之前的值保护起来,离开子过程再把之前的值释放出来。
2011年07月21日 02点07分