有时我看到人们使用http://codepad.org作为一种快速运行/测试他们的 Perl 代码片段的方式(它支持使用各种语言,从 C 到 Scheme 再到 Perl)。
很明显,对于可以使用键盘测试哪些代码/功能必须有一些限制 - 有谁知道 Perl 运行器的这些限制是什么?
我会根据自己的观察来了解情况:并非每个 CPAN 模块都可用:(
有时我看到人们使用http://codepad.org作为一种快速运行/测试他们的 Perl 代码片段的方式(它支持使用各种语言,从 C 到 Scheme 再到 Perl)。
很明显,对于可以使用键盘测试哪些代码/功能必须有一些限制 - 有谁知道 Perl 运行器的这些限制是什么?
我会根据自己的观察来了解情况:并非每个 CPAN 模块都可用:(
主要基于他们的“关于”页面:
键盘仅支持 Perl 5.8.0
据推测,就像任何 Perl 安装一样,并不是每个模块(CPAN 或其他)都存在。
作为一个具体示例,缺少List::MoreUtils。
作为一个子限制,它们似乎在 Linux 上运行。所以任何 Windows 特定的模块肯定会被淘汰。
它位于具有系统调用限制的 chroot 监狱中。除其他外,这似乎阻止了文件创建(我的片段在当前目录中创建文件或/tmp
两者都出错,以及 File::Temp 调用)
键盘代码在虚拟机上执行。在防火墙后面。并埋在地堡中。所以某些功能可能被禁用 - 特别是网络/互联网之一。确切的“关于”报价是:
主管进程在虚拟机上运行,这些虚拟机有防火墙,因此它们无法进行传出连接。
运行虚拟机的机器也有严格的防火墙,并定期从它们的源映像中恢复。
在本地运行 Perl 代码更容易。安装多个版本的 Perl 并跟踪单独的模块存储库很容易。在虚拟机中运行您想要的任何操作系统也不难。为什么你需要别人的服务来做你自己可以做得更好的事情,这超出了我的理解。