0

我正在为一个项目将 Python 翻译成 Perl。我要求的是一个提示,或者是我的问题的起点。

问题:我应该如何将 Python 中的多行if//语句forwhile假设一个块的缩进相当于每个块的 4 个空格)翻译成 Perl?

我正在用 Perl 编写这个,所以我正在考虑使用某种数据结构(例如数组)来捕获具有相同缩进级别的连续行块,但我不确定我究竟是如何做到这一点的?

另一种可能的方法是“窥视”下一行(我正在使用 读取 Python 文件while (<>)),但这会将指针更改为下一行。

这是一个示例 Python 代码:

#!/usr/bin/python
import sys

x = 4
for i in range(0, x+1):
    print i
    i = i + 1

希望翻译成:

#!/usr/bin/perl -w

$x = 4;
foreach $i (0..$x) {
    print $i, "\n";
    $i = $i + 1;
}
4

1 回答 1

3

我不明白为什么有人想要这样做,但显然有一个名为Perthon的项目声称将 Python 翻译成 Perl。

至少他们通过使用Parse::RecDescent而不是使用正则表达式以正确的方式做到这一点;-)

于 2012-04-22T16:16:15.830 回答