2009-10-02 18 views

回答

13

是的所有这些问题。 Eclipse IDE易受此影响。它discussed in more detail here

与所有软件一样,您应该避免从不信任的来源下载和运行任何内容。 CPAN通常值得信赖;尽管我没有意识到任何人有意将恶意代码发布到CPAN,但它可能发生了。

可避免与$^C flag在编译检查正在运行的代码,例如:

BEGIN { load_data_from_db() unless $^C; } 
+2

关于'$^C'的优秀点。这里有一个链接到它的perlvar条目:http://perldoc.perl.org/perlvar.html#${C – daotoad 2009-10-02 21:28:23

+0

@daotoad你的链接被破坏了,所以我编辑了包含一个工作的响应。 – Ether 2009-10-03 01:06:00

1

需要注意的是,有时这是一个特点。第一次加载时,mod_perl模块内部的BEGIN块只执行一次。所以你有一个简单的语法来在同一个脚本中进行页面级初始化,并将它放在它所协助的代码的“附近”。

偶尔,它对编写复杂的初始化代码非常有用,您不希望将其放在脚本的顶部。

但大多数情况下,它只是为了与awk的主题兼容性。

+1

它看起来不像awk。 BEGIN块对测序事物非常有用。 – 2009-10-03 18:42:03

+0

这不正是我所说的吗?在你决定选择的句子之前,有相当多的文字。 – 2009-10-03 22:48:36

+1

@安迪 - 你说“主要”。在我多年的Perl软件开发中,我曾经在很多场合使用(并看过它)BEGIN块,原因很多,而且我没有看到它使用过“与awk的专题兼容性”。 – DVK 2009-10-04 12:30:33