プロジェクトのために Python を Perl に翻訳しています。私が求めているのは、ヒント、または私の問題の出発点です。
if
問題: Python の複数行の/ for
/while
ステートメント (1 ブロックのインデントがそれぞれ 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;
}