开始学习Perl

开始学习Perl

学习Perl就像当年学习五笔,有兴趣了就学一下,过一段时间没有使用就忘了,过段时间又学一下,过段时间又忘记了....
今天又开始看小骆驼书,打算好好的学习一下Perl的语法,希望以后能多使用,不要再忘记了   (:

似乎Perl的语法结合了C和shell,比如,保留了C的{}和结束语句的';'(做为一门脚本语言,用';'结束语句是一个很让我崩溃的特性),而和shell差不多简洁.

有时候感觉学习的语言一多,就容易混乱。Perl就给我制造了一些类似的麻烦。
拿Perl和Python对比学习,发现了一些让人崩溃的地方。比如, print 'a', 'b', 'c', 在perl里是输出一个list,而在Python里是输出一个tuple.
习惯了print 'hello world', 要写成print "hello world\n"; 结果不是忘记添加'\n', 就是忘记了结尾的';'。都改完了才发现还要将单引号改成双引号...   )-:

其他的对比:
Perl: print "hello world";          = Python: print 'hello world',
Perl: print "hello world\n";       = Python: print 'hello world'
perl: say 'hello world';             = Python: print 'hello world'
Perl: 'abc' x 3                          = Python: 'abc' * 3
perl: print 'a' . 'b' . 'c';              = Python: print 'a' + 'b' + 'c',
Perl: print 'a' . ' ' . 'b' . "\n";     = Python: print 'a', 'b'
Perl: print "hello $var\n";        = Python: print "hello", var
还有一些,就不列举了。

不管怎样,还是要坚持下去, 呵呵

支持楼主坚持下去
坚持就对了
最好不要老是和你熟悉的其他语言类比,比这还糟糕的就是把  Perl 当作你熟悉的语言 XXX(填入你熟悉的语言的名字)来使。


QUOTE:
原帖由 MMMIX 于 2009-1-9 23:52 发表
最好不要老是和你熟悉的其他语言类比,比这还糟糕的就是把  Perl 当作你熟悉的语言 XXX(填入你熟悉的语言的名字)来使。

他这么一比较,我顺便学了点python
一起学习。。坚持   。。


QUOTE:
原帖由 ynchnluiti 于 2009-1-10 00:08 发表

他这么一比较,我顺便学了点python

同感。
觉得学语言有两种方式:1,忘记别的所有语言,沉浸在当前所学的语言中;2,对比,求同存异。两种方式各有优缺点吧,不过似乎后者更有意思一点,呵呵

继续比较:
perl中的变量在赋值前即可使用,这一点与shell以及awk类似;而Python则会报错,因为Python拒绝含糊。
perl从<STDIN>中读入的行会带有一个'\n'字符,所以几乎总是必须用chomp函数处理;shell/Python等绝大部分语言都没有这个特点。
Perl中,@array的元素数目为$#array+1, 而shell中, $#为函数的参数数目;Python中没有对应的表示,必须通过函数len(array)。
Perl中,假设@array的元素数目为100,则$array[-200]错误,这一点与Python相同。
Perl中的list的表示与Python中的tuple相同。Python中的list用[ ]表示。
Perl: (1, 2, 3)       = Python: [1, 2, 3]
Perl: (5..10)         = Python: range(5, 10+1)


QUOTE:
原帖由 chunchengfh 于 2009-1-10 23:41 发表
1,忘记别的所有语言,沉浸在当前所学的语言中

我不想忘,往往真的忘了


QUOTE:
原帖由 ynchnluiti 于 2009-1-11 00:32 发表

我不想忘,往往真的忘了

不要过于执着于语法。