BEGIN { package Foo; ... }
块将相关对象放入一个文件中,并且您可以快速构建一个功能强大、灵活的脚本。 - daotoad一些典型Python习惯用法到Perl的翻译:
[x * x for x in range(10)]
变成 map {$_ * $_} 0..9
filter(x > 5, range(10))
变成 grep {$_ > 5} 0..9
def f(x, y): return x + y
变成 sub f { my ($x, $y) = @_; $x + $y }
对于内置函数的快速参考,我发现 perldoc -f <function_name>
非常有用。
最后,请注意单引号(''
)和双引号(""
)字符串在Python中相同,但在Perl中不同!例如,"$a\n"
将被插值,即 '$a' 将被变量 $a 的值替换。
map {$_ * $_} 1..9
不应该是 map {$_ * $_} 0..9
吗? - Sylvain您最好的选择就是阅读《Llama》书籍并完成练习。由于Perl与Python具有某些相似的语法,请确保写的是Perl而不是Python。