全部博文(272)
分类:
2009-09-27 17:27:45
10天搞定PERL语言之第一天
翻译者:五岳之巅
一、序言
Perl这个脚本语言让我们能够在Linux系统中自动运行各种任务,使得管理Linux系统变得十分轻松。学习它既容易又好玩,一眨眼的工夫你就可以自己编写那些让你的工作变得更加安逸的脚本代码了。在这10篇文章中,我将从基础讲起,然后一步步地深入剖析点复杂概念和高级技巧,我试图写的通俗点,好让那些编程新手也能很快上手。
二、Perl的渊源
早在1987年,Larry Wall创建了一种脚本语言----“实际抽取及报告语言”,被当做Unix操作系统的一种文本处理语言。其实,当时已经有很多工具和语言了(比方说Unix shells, sed, awk, C等等),并且很多程序员选择其中的一部分进行了应用。Larry Wall希望这个语言能够满足文本处理方面的各种需求,这样程序员便可以在做干活时光用Perl就可以完成,省去了加入别的工具的麻烦。此外,虽然Perl设计得简单易学又有快速执行能力,却一点也不影响perl的能力,它具备很多强大的高级功能。
Perl具有之前的各种语言都没有的新特性,让它很快红透了大江南北。1994年,Perl 5稳定版的推出使其成为一门大众化的程序设计语言。
三、Perl的特点
四、Perl解释器
Perl是一种解释型的语言。这就意味着你编写的Perl程序需要一个“解释器”才能够运行。比如:你写了一个Perl的脚本程序,起名为“myScript.pl”(.pl通常是Perl脚本的后缀),你不能直接运行它。必须请求“解释器”解释后才能运行:
perl myScript.pl
在这里例子中,myScript.pl是你编写的perl脚本,perl就是解释器。
五、Perl的安装
perl解释器是一个基本的工具软件,通常在Linux的各种发行版中被默认安装。下面就例举了一些默认安装的发行版:
Suse 10.1
Fedora Core 5
Debian Testing
Ubuntu 5.10
Mandriva 2006
Slackware 10.2
Mepis 3.4-3
Gentoo 2006.0
Knoppix 5.0
如果你想钻牛角尖,把所有安装perl的发行版都找出来,那么“distrowatch.com”这个网站也许能够满足你的要求,请查找:
为了查看你的电脑是否安装了perl解释器,你可以在终端中输入这条命令:
perl -v
如果已经安装,则会返回安装的perl解释器的版本号,如:
clem@pluto:~> perl -v
This is
perl, v5.8.8 built for i586-linux-thread-multiCopyright 1987-2006, Larry
WallPerl may be copied only under the terms of either the Artistic License or
theGNU General Public License, which may be found in the Perl 5 source
kit.Complete documentation for Perl, including FAQ lists, should be found
onthis system using "man perl" or "perldoc perl". If you have access to theInternet, point your
browser at the Perl Home Page.
如果没有安装,你必须安装和你的linux发行版相对应的perl软件。简单的话,使用apt-get或yum就可以,或者在光盘里找,再不行就装个别的发行版。毕竟perl是个非常基本的工具,一般的发行版都应该具备。
六、细看Perl解释器
通常,我们会先写个perl脚本文件,然后用perl解释器执行它。其实,你也可以单纯地一句一句地在交互模式下执行,这时不能含有参数。但本课程的着眼点可不在此,我们将使用脚本文件的方式运行perl程序。
为了运行perl脚本,你可以把perl脚本文件名作为参数送给perl解释器执行:
perl myScript.pl
或者你可以告诉Perl脚本解释器的路径,并将该脚本设为可执行权限,从而运行它。作为脚本,后者是通常采用的方法,我们也建议你这样使用。这时脚本中的第一句话应该告诉shell如何解释本文件。这一行一般是给出perl编译器的路径:
#!/usr/bin/perl
注意:perl解释器通常都安装在/usr/bin下,不过你的系统不一定如此。不如输入“which perl”确定下:
clem@pluto:~> which perl
/usr/bin/perl
同时,你也必须让你的perl脚本能够执行并具有合适的权限:
chmod a+rx myScript.pl
一旦该脚本能够执行,这时就可以直接运行它了。脚本中的第一行以“#!”开始,为的是让shell运行其后边的perl解释器。换句话讲,多亏了这一行小字,你才可以直接运行perl脚本。
./myScript.pl
如果你现在还不清楚这个“解释器”究竟是个什么东东,没关系,只要你知道是shell以你的名义运行了这个解释器,而又是这个解释器运行你的脚本文件就可以了。
七、这就是你的第一个perl脚本
如果你已经安装了Perl语言的解释器,现在你就可以开始编写你的第一个脚本了,内容比较简单:向屏幕输出“Hello World”(这个程序是真的没啥用处,这点我承认,但是这就是传统:学一门新语言时如果不是从Helloworld开始就有点不地道。当然,也是因为它最简单、最容易入门嘛)。
好了,开始创建一个名为helloWorld.pl的文件,然后在里面写入下面的代码:
#!/usr/bin/perl
print "Hello World!
n";
改变文件权限:
chmod a+rx helloWorld.pl
执行脚本:
./helloWorld.pl
接着,就像你想的那样,“Hello
World!”显示在了屏幕上。这个脚本只有两行,挺好懂的,解释下吧:第一行都是一样的,它告诉shell到那里去找perl的解释器,第二行才是实际执行的Perl指令,它告诉perl解释器网屏幕上输出“Hello World!”。在perl语言里,每行指令的末尾要有一个分号“;”。使用分号作为语句的结束是因为有时指令会很长,有可能超过一行,所以在指令末尾加个“;”号就能高效地标记出语句的结尾位置了。很多语言都会用“;”号作为语句结束符,你要是适应了,就会习惯的。如果你是个编程新手,很可能你犯的错误就是忘记填上这个分号,所以要当心哦。现在你可能在想,那个“n”是干什么的呢?原来,它是个功能特殊的字符,用它来表示换行的(就像你在word里用enter来换行一样),这样光标就会在“Hello World!”的下一样显示了哦。
在下一堂课中,我们开始学习变量,打开文件等等令您信手拈来的活。现在,你应该知道perl是什么并学会如何使用它,以后就针对perl语言的具体问题了。当然,现在大家可以来问问题了,我在这等着呢^_^。