找回密码
 注册
查看: 2043|回复: 0

怎样编译Perl?

[复制链接]
发表于 2011-11-12 23:58:44 | 显示全部楼层 |阅读模式
只需要运行你的Perl 程序。Perl 的解释器将编译和运行你的程序。
$ perl my_grogram
当运行程序时,Perl 的内部编译器首先遍历整个源程序,把它转变为内部的字节码,它是程序的一种内部数据结构。Perl
的字节码引擎将运行这些字节码。如果200 行有一个语法错误,在执行程序的第二行◆,你将得到出错信息。如果某个循
环运行5000 次,它将一次编译;循环将以最快的速度运行。程序的注释不会增加程序的运行开支。如果某个表达式的计算
结果是一个常数,那在程序开始运行时,就会以这个常数来替换,而不需每次循环重新计算。
一个可能的例外情形是,当写了一个CGI 脚本,它可能每分钟被调用成百上千次。(这个使用率很高。如果一天被调用百
次,千次,我们并不担心)。许多此类程序都只有很短的运行时间,因此重新调入他们将是笔可观的开支。如果这对你是个
严重的问题,你希望找一种方法能让你的程序保持在内存之中。有一个关于Apache web server (http://perl.apache.org )的模
块:CGI::Fast 兴许能帮助你。
可以保存这些编译过后的字节码以减轻编译的负担吗?或者,更好的是,可以把这些字节码转换为别的语言,如C,然后
编译他们?这两件事,在某种程度上都是可行的,但它们可能使程序难于使用,维护,调试和安装,也可能让你的程序运
行更慢。Perl 6 在这方面有重大改进,但现在讨论还为时过早(当我们写做此书时)。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-21 22:56 , Processed in 0.030671 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表