我还是Perl的新手。由于BEGIN
块在编译过程中运行,不会因简单编译而导致病毒传播或数据丢失? Perl做了什么来阻止它?如果是这样,它意味着BEGIN
块中的代码可能在其外面的行为有所不同?Perl BEGIN块可以传播病毒或丢失数据吗?
回答
是的所有这些问题。 Eclipse IDE易受此影响。它discussed in more detail here。
与所有软件一样,您应该避免从不信任的来源下载和运行任何内容。 CPAN通常值得信赖;尽管我没有意识到任何人有意将恶意代码发布到CPAN,但它可能发生了。
可避免与$^C flag在编译检查正在运行的代码,例如:
BEGIN { load_data_from_db() unless $^C; }
需要注意的是,有时这是一个特点。第一次加载时,mod_perl模块内部的BEGIN块只执行一次。所以你有一个简单的语法来在同一个脚本中进行页面级初始化,并将它放在它所协助的代码的“附近”。
偶尔,它对编写复杂的初始化代码非常有用,您不希望将其放在脚本的顶部。
但大多数情况下,它只是为了与awk的主题兼容性。
它看起来不像awk。 BEGIN块对测序事物非常有用。 – 2009-10-03 18:42:03
这不正是我所说的吗?在你决定选择的句子之前,有相当多的文字。 – 2009-10-03 22:48:36
@安迪 - 你说“主要”。在我多年的Perl软件开发中,我曾经在很多场合使用(并看过它)BEGIN块,原因很多,而且我没有看到它使用过“与awk的专题兼容性”。 – DVK 2009-10-04 12:30:33
- 1. 病毒可以通过远程桌面传输吗?
- 2. Perl,ClamAV,扫描病毒流
- 3. Perl - 差异BEGIN非BEGIN块
- 4. 获取使用病毒式传播,iOS和以及Android的
- 5. 这是wordpress病毒吗?
- 6. 病毒上传扫描asp.net
- 7. Perl的BEGIN块在app.psgi
- 8. 设置在网络中传播病毒的起始节点
- 9. Android防病毒
- 10. Word宏病毒
- 11. 防病毒:防病毒如何检查受病毒感染的文件?
- 12. java中的pipe或BufferedReader可能会丢失数据吗?
- 13. C#反病毒程序块smtp检查
- 14. snoop wpf病毒总数
- 15. 将文件上传到数据库病毒检查
- 16. 什么是HCC?它是病毒吗?
- 17. 关系数据丢失时可以使用Entity Framework吗?
- 18. 上传前扫描病毒。 Coldfusion
- 19. Google Drive SDK - 上传和病毒扫描
- 20. 上传到Azure之前需要扫描病毒文件吗?
- 21. 检测为病毒
- 22. Eval Base64病毒Wordpress
- 23. 反编译病毒
- 24. 运行Xcode时网络活动高,可能是病毒吗?
- 25. 多播基础知识 - 丢失数据
- 26. 多播程序丢失数据
- 27. 宏译请请(可能的病毒)
- 28. Authenticode证书以避免病毒标记
- 29. 防病毒不断检测我的项目是病毒
- 30. 初始化BEGIN块中的LD_LIBRARY_PATH失败
关于'$^C'的优秀点。这里有一个链接到它的perlvar条目:http://perldoc.perl.org/perlvar.html#${C – daotoad 2009-10-02 21:28:23
@daotoad你的链接被破坏了,所以我编辑了包含一个工作的响应。 – Ether 2009-10-03 01:06:00