Perl/Python 感概
时间:2011-03-29 来源:Morya
最近因为项目需要,
需要在多个古老的linux/unix版本上完成一个工具,有些没有python所在,不得不重拾perl文档……
再读perl文档的,是一个让人吐血的过程。
习惯了python> 2.4 的语法和core库组织,那种相对来说比较合理的安排和统一的格式,
perl的就显得非常的不合理。
我想这应该是因为它所出现的那个石器时代造成了这些个时代断层,最初的优雅和惊艳经过
前仆后继维护者的缝缝补补,变成了现在这个百变妖精的德行……
1,perl的关键字语法多变和诡异,比如 unless 循环;
2,各种函数和各种表达式的上下文敏感的使用方式;
# 这两句就相当不同……
@b = @a;
$b = @a;
3,$^ $@ $! $| 等特殊变量;(本来俺记性就很差,多年不见,现在更是完全认不得这些英雄)
(当然,听说有一个 use English; # 大概这个格式 的一个语法可以使用纯英文模式来使用特殊变量,
但教程甚至都不推荐。。)
4,函数参数省略写法和非省略写法;(虽然,这个确实提高了代码的表达力,但却也增加了相当程度的阅读难度,尤其象我这种非
长期perl代码维护者的阅读难度)
chomp($text = <STDIN>); # 比如这种
substr( $str, 1, 3) = "new string "; # 比如这种牛逼又神奇的语法……
5,标准库多而且乱;
与C++标准库的贫瘠相比,perl 标准库确实很富裕,但组织方式和杂乱摆放让人非常头疼。。
File::Basename;
File::Spec; # 这个还是OO实现方式,调用格式不同于其它模块…… 崩溃
Cwd;
这些个东西,python的一个 os.path 就基本上覆盖了。
总之一句话,不喜perl,life is short, you need Python.