王朝网络
分享
 
 
 

Perl and I[所有的PERL爱好者都应该看一看]

王朝perl·作者佚名  2006-01-09
宽屏版  字体: |||超大  

一首perl写的诗:

#!/usr/bin/perl

APPEAL:

listen (please, please);

open yourself, wide;

join (you, me),

connect (us,together),

tell me.

do something if distressed;

@dawn, dance;

@evening, sing;

read (books,$poems,stories) until peaceful;

study if able;

write me if-you-please;

sort your feelings, reset goals, seek (friends, family, anyone);

do*not*die (like this)

if sin abounds;

keys (hidden), open (locks, doors), tell secrets;

do not, I-beg-you, close them, yet.

accept (yourself, changes),

bind (grief, despair);

require truth, goodness if-you-will, each moment;

select (always), length(of-days)

# listen (a perl poem)

# Sharon Hopkins

# rev. June 19, 1995

=============================================

Perl and I[所有的PERL爱好者都应该看一看]

作者:netken

我接触 Perl 的时间并不长,不过却对这种语言的感情很深,不知道为什么,我发现我对 Perl 的感情已经超过了一种计算机语言的感觉。

仔细想想,当我每开始写代码的时候,心中总有种很奇妙的感觉,当我面对着这些代码,总是用一种艺术的眼光去欣赏他们,从中得到乐趣。

我的机器上有两个东西是最长用的,一个是 EditPlus!2.1c ,还有一个是 VC++ 6.0 。VC是不用说了,总要用他来编译东西的,而在我

写一些小程序的时候,总是用 Edit+ 来编写代码。Edit+ 是一种带颜色分析,语法加亮,自动完成的代码编写辅助工具,是一个朋友推荐给我的。

自那时起,我便深深的喜欢上他了。不因为什么特别的,因为我感觉他是一种完善,对艺术和美的完善,当我用 Edit+ 打开我编写或某些人编写

的代码时,我感受到的,是一种特殊的美丽。她深深的把我吸引。

我以前常用 C , 在我写 C 的时候,总为他的严谨的结构而赞叹,那是为程序员而创造的语言,看着那些变量的定义,和条件,逻辑代码段,

我总有很敬畏的感觉,所以我的思想也就紧张起来,来认真的编写这些东西。C 给我的感觉,就像一个家长,严格的要求着你,但同样也是束缚。

当我用 Edit+ 打开这些代码,我却又发现了一处美丽----颜色。各式样的颜色,按照其法则对应着各个字符,让我觉得这已经脱离了计算机语言本身。

可能我从小喜欢音乐和绘画的原因,当我看见这些被 Edit+ 分析过的代码后,我总有种抑制不住的冲动,我总想听着抒情的乐音,随口附和着,

然后再欣赏这些完美的代码。她就好象一件艺术品,不仅仅是艺术品,她包涵了更多。颜色,搭配,设计,结构,还有最重要的,那是人的思维。

人们各式各样的思维方式和逻辑方法都展现出来,让你去品味,欣赏其中的艺术。那是多么的舒服啊。

有很多人总觉得计算机这种机器是很冷冰冰的,没有人的感情,其实我倒觉得不然,人对某件事物的感情并不是由事物自身所造成的,而是我们人

本身对某个事物的印象所制,我们总爱把自己的意识强加到事物的头上。我们喜欢他了,就说他可爱,我们讨厌了,就骂他无聊。

而我喜爱代码,代码的艺术,我从未感受到机器的冰冷,正如我很少在画着 Kitty Cat 的小手提包上花费过多的心思一样。而某些女孩子却正相反

可是唯一的不足,是在写 C 的过程中,我总是很紧张,当我看到编译时的 Error 字眼,我精神上往往打击不小。C 太 Cool 了。他给我的乐趣也

因为他的过于严格而让我敬而远之。

突然,我发现了 Perl ,我常常感谢这种飘渺的神灵,好象总能在关键的时候给我一丝光明去继续热爱我的代码们。而 Perl 真正让我做到了。

初接触 Perl 时,总觉得这种语言很怪异,但用着很舒服,不过在使用的时候,总是爱忘记那些可爱的 $ @ % 符号,总是用 for 来做任何的循环。

不得不承认,这是 C 程序员的悲哀,是被 C 强制出来的毛病。在初写 Perl 的时候,我总是不自然的就在代码段的开头来个 int my $a;

然后得到的却是正确的执行结果,当我再次审视我的代码,我真的发现了 Perl 的可爱,不过确实是很不习惯的。

如果说 C 是严父,那 Perl 可就算是慈母了,他对我太宽松了,甚至我在使用一个 array 的时候都可以不用定义,甚至我可以直接使用 hash 这种

复杂的数据结构,甚至我可以写出 $hash{'abc'}[2][4]{'ccc'}[2] 。我可以定义个 10x10 的 array 而只需一句: my $array[10][10];

可当我定义了以后才发觉自己的愚昧,在 Perl 中,我何必定义他呢?

刚来到 Perl 的世界,很多的不习惯,我甚至总爱在 print 后面加个 f ,总想在 open 前也加个 f ,总把指针的参照弄混了,而过早的使用了

我根本不知道的功能: *ABC = \$time ,当我写完他,我所要求的什么都没发生,但事实上却发生了很多。

现在回忆起 Perl newbie 的时候,很是有趣,不过庆幸的是,这种时光没有持续太久,因为我有 Edit+ 。当我真正的用 Perl 来写些东西的时候,

我才知道了语言的魅力。我才真正的理解到,为什么我总对 C 诚惶诚恐,因为那只是一种计算机语言,他真正适合的是那些我所敬仰的前辈。

而我呢?一个漫不精心的小子,当然不会适合。因为我太喜欢计算机了,以至于我的喜欢变成了自然中热爱的一部分,所以我需要的,是一种更

自然,更有人味儿的语言, Nature Language 。而 Perl 不得不算是其中的佼佼者。

有些时候,我总爱想自己是不是有些多愁善感?不过是针对计算机罢了。不过,无论怎样,Perl 确实给我带来了光明,一种恒久的动力,

Perl 是美丽的,她如 Pearl 一般散发着自己的光芒。

如果你用过 Perl ,那就不妨来深入的学她,如果你想了解 Perl ,那我很愿意而荣幸为你打开这扇通往 Perl 世界的大门。

在 C 的面前,我永远都是诚惶诚恐的。而在 Perl 的面前,我却友好的伸出和打开了我的思维。

Larry 是位语言学家,所以我想他在创造这门语言的时候,就少了那份生硬的书生气和钢铁的味道,

而给我们一种朗朗上口,一种舒服的感觉,当我们写perl时,就好象真的是一种创作,

不仅仅是逻辑上的思考,还有我们一些感性的东西溶入其中,写 Perl 就好象有点写诗的味道。

不可否认的,代码的艺术,在 Perl 的身上表现的淋漓尽致。

是的,如果光要说华丽,我觉得 Perl 还不能算是最字,后起的 Python 才应该算是华美之最,

符合现在的流行,全部的OO。语句通顺流畅,一气呵成的感觉几乎在你写任何代码的时候都能体会。

但,正如我们需要的不是看家逮老鼠的巨莽,而是能带我们穿过沙漠的骆驼。

还是不可否认的,Python是有扩展力的,极大的扩展力,不过毕竟他现在还不强大,也只是逮些大老鼠,为我们而工作。

但 Perl 呢?可能他有这样那样的缺陷,可能他生的不怎么好看,可能他不太好闻,可能他有时候也会对你起倔劲,

但,他的强大让我可以把这一切不好都忘掉,因为他有强大的生存本领,他能帮我轻松的度过沙漠。

而且,Perl 几乎能做一切。我不想在列举这些或那些 Perl 能做的事,

不过我到想起了一种 Perl 特有的,而且常常被人用来说笑的思路,

unless 思路,那就是 Perl 不能做什么?其实 Perl 不能做的也很多,至少现在他不能为我们端茶到水。

Perl 能学会么?这可不好说,说不定在 CPAN 上一找,却真能发现呢~~

可惜,Perl 生存的环境有些严峻,从前,沙漠里只适合那些具有冒险精神的人来探索和居住。

所以,在 unix 的老家,即便 Perl 很受人们的欢迎,可在 m$ 的异地他乡,却常常受到冷落。

不过时代总是在变化,现在越来越多的程序员也开始注意到了这个神兵利器,这把瑞士军刀了。

这是值得庆幸的事情。

不知道大家在相互交流的时候是否注意过对方的表情,传闻中,好象 Perlish 们面布总有特殊,狡黠的微笑。

我呢?我却常常在和朋友聊到 Perl 的时候,或者编写 Perl 代码的时候,或者翻开一本厚书来,想找某些单词的时候,

或者遇到一些乱七八糟的数据的时候,或者看见某个网爷不顺眼的时候,或者看见首饰店里的珍珠饰品的时候,

或者吃饭我爸妈让我搬凳子那筷子,端菜盛饭的时候,或者我要去出去远行的时候,我好象脑子里都能隐约浮现出几个大字: P..e....r.l

啊,当然还有看见网友给我发来的 @$%@$%$$^%$&%& 的时候,我突然发现 Perl 真的无处不在,我那个xx朋友竟然也会 Perl !!!???

Perl 可以说真的是无处不在,或许当你偶尔间翻开书一看,就会有你熟悉的 Perl 显现出来,

当你写下你一天所干的事情,或许你又会发现了 Perl :

study, write, study,

do review (each word) if time.

close book, sleep

奇迹发生了,又是 Perl ?

Perl 的强大恐怕在这里也能体现吧?

那么 Perl 和 C 是一个档次的么?

恐怕不是了,我们可以拿 Perl 来写诗,我们可以空闲,无聊的时候拿来 Perl 小玩一番,我们可以在读书写日记的过程中学习,练习 Perl . What about C ?

那当然不是一个档次的东西了 ;p

好了,今天写了不少,那么让我们用一首诗在做个结尾吧:

#!/usr/bin/perl

APPEAL:

listen (please, please);

open yourself, wide;

join (you, me),

connect (us,together),

tell me.

do something if distressed;

@dawn, dance;

@evening, sing;

read (books,$poems,stories) until peaceful;

study if able;

write me if-you-please;

sort your feelings, reset goals, seek (friends, family, anyone);

do*not*die (like this)

if sin abounds;

keys (hidden), open (locks, doors), tell secrets;

do not, I-beg-you, close them, yet.

accept (yourself, changes),

bind (grief, despair);

require truth, goodness if-you-will, each moment;

select (always), length(of-days)

# listen (a perl poem)

# Sharon Hopkins

# rev. June 19, 1995

Good Luck!

我相信你会梦见一头骆驼 ...

NetKen.

-----------------------------------------------------------------------------------------------

现在的很多语言都有了向自然语言靠拢的趋势,毕竟以人为本的概念在当今的社会是很流行的吗。

而且 M$ 也可以说是在 UI 方面的大赢家,不仅赢得了众多,绝大多数的用户,同样带来的还有丰厚的利益。

现在的时代已经不是只有几个人来使用计算机,几个人来编写 01101 的时候了,人们已经把计算机做为了生活的一部分

编程可以说也是消遣,娱乐的好内容。

所以,我们现在使用的语言越来越人性化,越来越容易“看”懂,而 Perl 在其中也算是佼佼者了。

当我们看见一个 print 语句的时候,我可以利马知道他要打印些什么东西了,无论是往屏幕,文件,管道,socket,还是打印机,总之,我们知道他要输出了,这比那些 printf,cout ... ... 要好的多吧?

而且perl的函数格式也给人的感觉很好,print "i love camel...";就让人很自然的知道了其中意味。

一些语句的格式甚至更能表达某中意思, print "i love u!" or die; ... ...

warn "i am great than u" if $i gt $u;

hoho,光“看”就能理解了。

可以说,Perlish 们永远都是轻松的,或许他们有数不清的复杂的恶心的厌烦的任务,可他们有 Perl 。

而且不仅仅是一个 Perl interpreter,最重要的是 Perl 的那种 Spirit ,总让事情更简单的作风,总在困境中找寻快乐的精神.

甚至可以这样说,学 Perl 可以不用 Perl ,或者说,每个程序员在学其他语言之前,最好都了解一下 Perl 。

Perl 诞生于 Unix ,可能因此他让别人了解的机会少了不少,不过这丝毫不能遮掩他珍珠般的光芒。

我们不得不赞叹 Larry 的才智和运气,是的,虽然他的手艺并不怎么好,造出了一个很奇异的,但却融合了各种魔力的语言。

或许我们应该讨厌那种四不象的语言,没有自己的风格,但当我发现了 Perl ,我想这一切都会改变。

unix 下的程序员我想是受益颇多的,几乎有了 perl 以后,他们就很少在去记忆某些复杂的命令,任何事情都开始变的简单和明朗了。

我想 Perl 在 window$ 下发展不如 unix 的原因,可能因为是异地他乡的缘故,或者说是window$ 的用户已经习惯了那种透明,

习惯了一鼠天下的情形。而 Perl 的强大,却往往不是 tk 能表现出来的。

不过说起 tk ,当然先要感谢 tcl/tk ,而后就要说 ptk 了,我们又要庆幸了,因为 tk 同样也被 perl 采纳了。

快速的制造一个美丽的 GUI 已经非常简单,几乎和 tcl/tk 无异。而且最重要的是,他是平台无关的。当我们拿着一个自己写的 perl tk ,在 window$ 和 x-windows ,甚至 mac os上运行的酣畅淋漓的时候,你心情如何呢?我想要比哪一堆 dll 在 x-windows 下干着急强多了吧?o)

我常常感叹m$的头脑,意识和机智的超前程度是很难有他人能比的。也正因如此,m$才取得了很大的成功。

而且这次,m$也把算盘打到了 Perl 的头上,vs中也推出了 VP -- Visual Perl ,或许在不久的将来,

随着 Perl 6 的推出,网络功能的极大改善和那时网络性能的提高,Perl 的天下也就真的不远了呢?

我期待能看着 VP++ 的出现,hoho~

Perl 确实帮助了我们很多,但他是 Open Source 的,从他的设计到实用都是如此,可能因为这个原因,

让他成不了商业软件中的一员,不过却不能说 Perl 做不了商业软件,ORA 前一段也曾报道过用 Perl 实现了一个医疗系统的设计。

当然还有更多 ... ...

我们现在应该能体会到 Perl 的强大,如果你用过 Perl 的话。

否则,我将很荣幸的成为带领你进入 Larry 和 Perlish 们的 Perl 世界去走一走,那里,你一定会感受一新的

Perl 的缺点吗

也不少,除了解释性语言一般的缺点外,还有就是他的优点--杂和性,也恰恰可能给他带来某些地方的不便(理解上的不便),有的时候,如果我们用 if (! (xx && bb) ) 来做判断的话,可能会很直观,但如果换成 unless ( xx and bb ) 或许,就要小迷上一会,不过这只是刚开始的时候会这样,慢慢也就好了。当然,我们还是可以用 perl 来写 if 的

perl的缺点还有很多,不过在大多数的情况下,他的缺点和优点是无法区分的,perl教会给我们 tmtowtdi 的精神,可是在很多其他的场合,我们只能说 TOnlyOneWTDI .没有办法,在某些语言来解放程序员的大脑的时候,有些语言却正在束缚。我可不想成为代码机器,可现实呢?

bigApple说过 perl 的晦涩,确实,如果我们深入研究 perl 的内部机理,你会感觉眩晕的。真的。peifang兄说过,若能把 devel 模块看一边,看的懂,那应付导师是没问题了,大概是这么说的,原话记不的了,不过若真能把 devel 看一边,再小写上几行,别说应付了,我看可以teach 了吧~~ ?

如果大家有工夫的话,可以看看 perl 的source,我半途放弃了~~

不过好象以上这些大多是语言都有的缺点,不可能哪个语言没有缺点,也很少出现哪个语言比其他语言优秀的多,不过,作为一个人,我想对物体的接受,是有他情感的一方面因素的,很少有纯理性的,至少我是如此,因为perl给我了一种感觉,所以我沉迷其中,因为perl在我的理解上,teach我了很多东西,这不仅仅是他的易用和强大,更重要的是某中思想。编程的思想,对某种新知理解的思想,生活的思想,很多。。。

说了这么多,还是没有谈到perl的缺点上来,其实如果谁能把某个自己喜欢的物体的缺点说的很透彻,那是真的超凡脱俗的高手了,可惜我不是高手,我也没那么超凡

不过我知道,大凡只要是一种语言,都在一定的领域内很好用,不然估计很少会有人用他,发明他。

perl的应用范围很广,而且也很方便,所以很多人用他,但从 usenet 上的 comp.lang 下的分类来看就知道了,很多语言都只分了1个类,能和perl相比的估计也只有 java和c 了。

看来perl并不是什么冷门,至少在国外不是。所以国内就需要我们来宣传,没有什么其他目的,因为我们确实觉得他好用,他方便,他诚恳,而且他倡导自由,所以我要宣传他,所以我更热爱他。我喜欢两样东西,简单和自由,这两样perl全有了。

不过对我来说,perl的缺点就是某些时候的速度,不能达到编译语言的境界 ;p ,还有就是还不够简单,你想,如果我只打一个 a b c ,perl就能为我做好一桌丰盛的晚餐,如果我只用敲一个 x y z,perl就能帮把我繁重的工作全部做完~~~~ day dream ing ...

估计下个世纪perl能升级到这个地步吧~~

还有一点,这个缺点在国内表现的很突出,就是范围问题,国内的大多人还只是把perl做为cgi language 来对待,甚至很多程序员不知道perl为何物,sigh.. 要是搞window$的,还可以原谅(不过马上就不能原谅了),要是做unix的,那就好像学vc的不知道mfc了... ...

所以,国内的这种情形,多多少少,或者说很大的影响了perl的发展和他优秀一面的展示,这是很让我们这些perlish伤心的。

perl再有的缺点,就是他的open source了,既然是解释性的,所以如果没有特殊的方法的话,对某些人来说,是不愿意使用的,他们大多不赞成代码公开,或者很担心钱图的。

还有就是perl的解释器并不是每台机器上都带的,所以,如果我有一个非常好的perl程序,给了别人,如果对方没有解释器,那他最多也就是欣赏一下perl那如史诗般壮丽,却很精巧的代码艺术了 ;p

perl的缺点还有很多,希望大家都来说说,了解缺点才会让我们更加进步,也才会让perl有更大的发展,在我们等待larry宣布perl 6的那天之前,我想我们会尽力让perl 5为我们创造一个又一个奇迹的。我相信,perl能行

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有