RSS
热门关键字:  数据挖掘  数据仓库  商业智能  人工智能  搜索引擎
当前位置 :| 首页>编程技术>cgi/perl>

Perl基础指南

来源: 作者: 时间:2007-01-27 点击:

过去十年来,Perl一直是最常用的脚本语言,这为它赢得了“基本网络语言”的名声。如果您还未有机会了解与Perl有关的一切,这篇指导性的文章就是一个开始。Perl是一种高级编译程序语言,它建立在C语言、shell脚本语言和awk与sed这类工具之上。它以那些脚本语言的替代产品而设计,并常替代它们而使用。许多社区应用Perl编写模块,这进一步扩大了Perl的应用范围,使其成为几乎所有领域工具开发的首选语言。 数据挖掘实验室

为何使用Perl

  • 它是免费产品:Perl拥有开源许可,试用它完全免费。如果您决定继续使用它,您或您们公司也不用花一分钱。
  • 它速度很快:虽然Perl比C语言这样的汇编语言要慢,但运行大多数程序时,它比Python或Ruby这些类似的编译语言要快,并比对应的shell或awk脚本快得多。
  • 与shell和UNIX自然交互:Perl专为操作系统应用而设计,在Unix中应用它打开文件句柄、设备、重新定位到通道或套接字都十分方便。在Windows中的应用稍微麻烦一些。
  • 正则表达式:在处理文本时,正则表达式是程序员最重要的工具。在Perl中,正则表达式除了是一个库的一部分外,还是这门语言的基础。在正则表达式应用的成熟性与简洁性方面,没有语言能够与Perl相媲美。
  • CPAN——Perl综合存档网络:CPAN存储了将近2000个Perl模块、脚本、文件和扩展。它是几乎各种Perl模块的中央存储库。在Perl中需要任何模块,都可以在这里找到。

安装 数据挖掘实验室

如果您应用的是UNIX环境,从脚本的角度看,Perl几乎无处不在,可能您的操作系统在某个地方已应用了它。多数Linux产品、MacOSX 10.3或更高版本中都自带了Perl。如果您运行的是Windows操作系统,或由于某种原因没有Perl,或希望升级到最新版本,都可以在Perl的官方网站下载最新源代码(C语言)。

数据挖掘研究院

Perl网站仅以源格式发布Perl解释程序,但如果您没有C语言编译器,或者您不希望进行编译,您可以下载二进制Perl产品" ActivePerl。安装过程相当简单,您只需下载安装器(Windows和OSX基于图形,UNIX基于文本),并按照提示执行即可。安装完成后,运行一段简单的命令进行测试: 数据挖掘研究院

perl -le "print "Hello World";"

如果它返回“Hello World”,则说明安装成功。否则,请检查安装是否成功完成,路径中是否存在Perl目录。

Perl基础

数据挖掘研究院

现在一切已经准备妥当,该是时候说明一些简单的Perl程序了。首先我们说明一个高次幂的例子,这个程序打印x^y: 数据挖掘实验室

$x = 7;

数据挖掘研究院

$y = 12; 数据挖掘研究院

$result = 1; 数据挖掘研究院

while ($y > 0) {

$result = $result * $x;

数据挖掘研究院

$y--; 数据挖掘研究院

} 数据挖掘研究院

print $result; 数据挖掘研究院

print "n"; 数据挖掘研究院

运行程序,我们得到下列结果: 数据挖掘研究院

% perl pow.pl

13841287201

这个程序连续使用一个while循环将结果与x相乘,每循环一次,y减少1,这样程序只会运行y次。在Perl 中,标题变量,如数字或字符,被它们前面的美元符号($)等同化,将它们与其它类型区别开来。不过,这个程序并非完全正确,如果我们想计算负次幂,如7^-1,会出现什么情况呢?如果我们把y变为-1,再运行程序,循环将不会运行,并打印结果为1。这个结果并不正确,所以需要进行一些改变: 数据挖掘实验室

$x = 7;

$y = -1;

$result = 1; 数据挖掘研究院

if ($y > 0) {

while ($y > 0) {

$result = $result * $x;

$y--; 数据挖掘实验室

} 数据挖掘研究院

} else {

数据挖掘实验室

while ($y < 0) {

数据挖掘研究院

$result = $result / $x; 数据挖掘研究院

$y++; 数据挖掘实验室

} 数据挖掘实验室

} 数据挖掘研究院

print $result; 数据挖掘实验室

print "n"; 数据挖掘研究院

我们可以用一个if语句对程序进行细分,如果y为正,就运行第一个循环;如果y为负,就运行第二个循环,它进行递减并向上计数;如果y为零,则结果恒为1。运行这个程序,得到如下结果: 数据挖掘研究院

% perl pow.pl 数据挖掘研究院

0.142857142857143

数据挖掘研究院

当然,Perl不会让您重写这样一个常用的函数,它插入“**”运算符。例如,上面的例子可以简单写成: 数据挖掘研究院

$x = 7;

数据挖掘研究院

$y = -1;

数据挖掘研究院

print $x ** $y; 数据挖掘研究院

print "n";

总结 数据挖掘研究院

现在您已对Perl有了一定了解,您下载并安装了Perl,并尝试了Perl编程。不过,应用强大的正则表达式处理命令行输入或文本才是Perl的主要用途。

上一篇:没有了
下一篇:如何使用strict和warnings
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?