注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 Exchange服务器系列课程之..
 帮助

Perl开发的几个小注意事项


2007-08-17 21:36:08
 标签:Perl 开发   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dannyyuan.blog.51cto.com/212520/38696
因为工作原因,离开C++一段时间了,一直用这个所谓的脚本语言来构建一些CGI应用。在用这个Perl的过程中,发现它其实并不是那么简单的,很庞大的一个语言平台,可以说是SHELL的超级版,也可以是PHP的姊妹版,说不出的感觉,反正也挺实用的。这里记录一些小注意事项,供自己复习,也许能提醒各位有心的朋友。
1、undef, '', 0在逻辑判断式中都是表示FALSE的意思,但你可要注意,你的业务逻辑是这样的吗?比如$ABC= $ABC || 0; $ABC=$ABC||1,通常地||可用于设置默认值,你需要再确认你的代码确是描述这个逻辑吗?我和我的同事可是几次栽在这个地方。比如:如果用户没选择或首次访问表单,该域值为UNDEF,但里面用0表示全部了,如果想当然就||0,那就不对了。
2、CGI模块和查询串的共存问题(估计很少人会犯这个错,即便犯了也很容易发现)。就是你总是需要从〈STDIN〉或ENV{'QUERY_STRING'}解析表单参数或URL参数,然后初始化CGI(或加载)去读取SESSION内容
3、在传递多层引用关系时,尽量用临时变量来保存引用,否则可能引用出错。如某函数需要一个引用数组,该数组每个元素是一个数组的引用,子数组的元素又是一个HASH的引用,这时你最好用两个中间标量来简化,否则赋值下来可不容易搞对。
4、当你想实现一些PERL本身无法实现的功能时,比如像C/C++跟系统多一些接触(类似于API功能)时,请想到search.cpan.org,你的同行通常都做好了现成的模块供你调用了.说不出的全.
 
一时想不出更多了,以后慢慢补充吧!

本文出自 “守望者的技术日记和六味生活” 博客,请务必保留此出处http://dannyyuan.blog.51cto.com/212520/38696





    文章评论
 
2007-08-19 19:54:49
没有用过Perl,能说一下优缺点嘛?和C++比较起来

2007-08-20 20:41:29
C++和Perl的比较:
只能是一家之言,对于Linux系统下,C++主要适合作底层的,面向系统(或与系统结合较紧密)的如Socket, thread,driver、通用模块(主要复用性高)等方面,但因为其开发层面比较深,所以依赖库比较多一点。Perl主要适合浅层的、基于应用的,文本处理较多的应用开发等。因其是脚本语言,所以中间的模块可以较好地隔离系统与应用之间的依赖关系。而网络上无数的开源模块都是源码安装的,所以给了你DIY的无限可能,并且很容易地实现了自适应系统安装使用。
至少,我觉得Perl对文本信息的处理能力和简单性真是有点佩服之极,还有我只用了很短的时间就比较熟练Perl语言了。
我用C++和OCCI写过一个简单的基于ORACLE数据库的查询工具,因为平台不同,真是烦到无以复加,而用DBD::ORACLE+DBI在Perl下作开发,依赖关系都是模块安装自动搞定。
当然,程序性能上,应用涵盖度,精细代码控制方面,应该C++明显有优势了。

2007-08-22 20:33:29
http://opensource.blog.51cto.com/62670/8674,比较详细的说了Perl作为脚本语言反而在未来的世界会得到更好的应用前景。 谢谢作者。

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: