我是Perl语言的新手,在我使用的代码中有以下一行:
$BASEDIR = &getcwd();
Run Code Online (Sandbox Code Playgroud)
我想知道为什么&对的调用前面有一个getcwd,而我找不到关于它的任何参考。有人可以帮我吗?
非常感谢 !
这将导致子例程的原型被忽略。
$ perl -e'
sub f($@) { print("@_\n"); }
my @a = (4,5,6);
f(4,5,6);
f(@a);
&f(@a);
'
4 5 6
3
4 5 6
Run Code Online (Sandbox Code Playgroud)
但这可能不是它在这里使用的原因。毕竟,Cwd::getcwd没有原型。&不能用于命名运算符(即perlfunc的功能,例如print),因此一些初学者在子例程上使用它来将它们与运算符区分开。我相信这是流行的Perl书中推荐的一种做法。
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |