本文和大家重点讨论一下Perl开发过程中需要注意的几个小事项,在用这个Perl的过程中,发现它其实并不是那么简单的,很庞大的一个语言平台,可以说是SHELL的超级版,也可以是PHP的姊妹版。
Perl开发过程中几个小注意事项
Perl是一种脚本语言。最初的设计者为拉里·沃尔(LarryWall),它於1987年12月18日發表。Perl借取了C、sed、awk、shellscripting以及很多其他程式語言的特性。其中最重要的特性是他内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。Perl原名pearl,但是在這個語言官方發表前,拉里·沃尔發現已經有個程式語言“pearl”,便將這個程式語言的名字改成Perl。
因为工作原因,离开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、Perl开发过程中在传递多层引用关系时,尽量用临时变量来保存引用,否则可能引用出错。如某函数需要一个引用数组,该数组每个元素是一个数组的引用,子数组的元素又是一个HASH的引用,这时你***用两个中间标量来简化,否则赋值下来可不容易搞对。
4、Perl开发过程中当你想实现一些PERL本身无法实现的功能时,比如像C/C++跟系统多一些接触(类似于API功能)时,请想到search.cpan.org,你的同行通常都做好了现成的模块供你调用了.说不出的全.
一时想不出更多了,以后慢慢补充吧!
本文出自“守望者的技术日记和六味生活”博客,请务必保留此出处http://dannyyuan.blog.51cto.com/212520/38696
【编辑推荐】