ABC Perl Programing - 回 2gua 短消息

不好意思,我是在 Gmail里看到邮件了,然后直接回复了邮件,然后…… 才看到 “这是系统自动通知邮件,不要直接回复该邮件。” 呃…… 那就贴在这里吧。

 

是这样的,现在发出去的也就是我手头的东西。这个就是春节前给同事们分享的部分。第二部分我正在准备,等做好了也会发在博客园的。如果你着急的话我可以给你一个建议先,就是看 Perl 之前不妨看看 Lisp 先。 Perl有一个很牛的地方在于它超级的灵活,灵活到可以模仿,或者说可以为很多其他语言的想法来做实现,比如说 Lisp。


其实我以前是很“排斥” Perl 的。说真的,一直不愿意学。倒不是说讨厌它,而是接触 Linux 以后首先就要熟悉 Shell script嘛,Shell 熟了以后发现很多事情 Shell 就可以做了(偶单位一个跟踪和分析项目当中的 defect 的系统就是完全用 Shell 做的,只是找人写了一个简单的  Perl 的 CGI 的页面接口而已),而且极方便,所以很不愿意接受那些复杂“语法的束缚”。

直到几个月前我们那个系统的报表部分需求变得空前复杂了(这帮家伙居然希望能够自己写公式,还要能随时改),不得不用 Perl 来实现了(就是说Shell 不行了),就开始看骆驼书。

回到正题,关于学 Perl。因为用 GNU Emacs 时间久了,难免要学一些 Lisp。虽然只是些皮毛,但是 Lisp 所涉及的思想是非常强大的。比如说 list 结构带来的 “一个操作符,无限操作数” 例如  (+ 1 2 3 4 5 ...)  ,比如 list 带来的 “数据和函数使用相同的数据结构”,比如由此带来的“像传递数据(参数)一样在函数之间传递函数”,或者再说的通俗一些,“传递指令” …… 这都是我原来用 Java 写程序的时候梦寐以求的。那个时候我就私下里梦想,编写程序应该是这个样子的,为什么不呢?直到后来,发现,Lisp 就是这个样子的!!!

那这些关 Perl 什么事呢?因为 Perl “也是”这个样子的!!!!! Wow!  这就是 Perl 的精髓之一啊,就是 Lisp 有的,Perl 也有,而且是不打折的。 Lisp 虽然好,但是毕竟太古老,太遥远,用来编写实际的项目会有一些实际的问题,但是 Perl 没有。 所以后来我们的报表部分就是用 Lisp 的设计思想,然后用 Perl 来做实现。

最后推荐有兴趣学习 Perl 语言的朋友们,(当然 Lisp 看你自己的兴趣了) Perl 的三本骆驼书一定要认真阅读,那真的非常有用。尤其是第三本 《Advanced Perl Programming》一定要举一反三,把这本书彻底看懂。这本书里面可真是“字字珠玑”啊。

posted on 2011-02-06 12:08  David Young 杨博华  阅读(390)  评论(2编辑  收藏  举报

导航