Perl中&的作用

moonson 2008-11-11 05:58:33
刚刚接触Perl不久,主要是为了看懂几个pl文件
文件中有两处用到&
1. my $variantABIV2Keyword = &Variant_GetMacro();
2. my @BPABIPlats = &BPABIutl_Plat_List;

第一处使用好像是调用一个函数,第二处使用好像是获取BPABIutl_Plat_List的内容,至于BPABIutl_Plat_List的类型是Scalar、Array还是Hash,目前还不知道。

有没有达人能够结合这两个例子,解释一下符号&如何在Perl中的使用。
...全文
142 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wx红杉树 2008-11-11
  • 打赏
  • 举报
回复
从Perl5.0 以后,如果一个子程式预先申明过,那么在调用时能省略前面的和符号(&)。这一点,可能会令非常多人觉得奇怪,尤其是那些原来的Perl4程式员。实际上,我们甚至能通过使用subs.pm的语法来把这个能省略和符号的规则扩展开,或通过在脚本中预申明(不是定义)来实现,例如:

  #!/usr/bin/perl -w

  use strict;

  use Tk;

  sub Mysub; #这里的预申明就允许下面直接使用Mysub()

  ……其他脚本部分,包括主程式和Tk的内容、对Mysub()的调用……

  sub Mysub {

  ...Mysub stuff...

  }

  不过,请注意差别我们在Perl/Tk中为一个组件建立回应函数时所使用的\&reference,他是个指向此子程式的引用。另外,更有一些其他的引用:例如\$foo是个指向标量$foo的引用(这在Perl4中也能用)。

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧