像C这里有gcc,borland和更多编译器可用,我想知道是否有其他编译器/口译员可用于Perl 5?
从我的阅读中,我了解到perlcc将代码编译成B:OP格式,然后使用解释器将optree转换为机器可执行文件。
答案 0 :(得分:7)
忽略perlcc; it is no longer part of Perl,只会让你迷惑*。
Perl是一种解释性语言。启动时,Perl解释器解析脚本的源代码并立即执行。虽然有一个中间表示(optree),但它纯粹是在内存中,并且不会被重用。
只有一个Perl解释器。没有替代实现。
(如果你很好奇:perlcc通过将optree作为常量数据存储在与Perl解释器链接的可执行文件中来工作。这是一个可疑的优化;它实际上并没有节省很多启动时间,也没有影响运行时完全没有,并打破了很多脚本。它实际上并没有将Perl脚本转换为C.)