首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

Perl/Python 感概

作者:  时间: 2011-03-29

最近因为项目需要,

需要在多个古老的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.