只是为了扩展此处的其他列表,这些是Perl的一些构造,它们在python中可能非常笨拙(如果可能)。
- 动态范围(通过
local
关键字) - typeglob操作(具有相同名称的多个变量)
- 格式(它们都有自己的语法)
- 可变变量的闭包
- 语用
- 左值子例程(
mysub() = 5;
类型代码) - 源过滤器
- 上下文(列表与标量,以及调用代码可以使用进行检查的方式
wantarray
) - 输入强制/动态输入
- 任何使用字符串的程序
eval
清单还在继续,有人可以尝试在所有类似构造之间创建映射,但是最终由于一个简单的原因,它将是失败的。
Perl不能被静态解析。Perl代码中的定义(尤其是BEGIN块中的定义)更改了编译器解释其余代码的方式。因此对于非平凡的程序,从Perl =>
Python进行转换会遇到停顿的问题。
在程序完成运行之前,无法确切知道所有程序将如何编译,并且从理论上讲,有可能创建一个Perl程序,该程序在每次运行时都会以不同的方式进行编译。这意味着一个Perl程序可以映射到无数个Python程序,只有在perl解释器中运行原始程序之后,才知道正确的Python程序。



