本文将阐述以下几方面内容:
1、什么是Perl
2、Perl有什么用
3、Windows 下的Perl环境搭建
4、Perl 版Hello World
5、Perl 语法梗概
6、一些参考资料
什么是Perl
Perl 是一门由 Larry Wall(拉里·沃尔)设计并实现的一门脚本语言,Larry Wall设计这门语言的最初的目的为了让UNIX 上得报表处理工作变得更方便。Perl 第一版的发行时间为 1987年(Python第一版的发行时间为 1991年、Ruby第一版的发行时间为 1995年,这三种程序设计语言经常被放在一起做比较)。
Perl的来自单词Pearl(珍珠的意思),或许在设计者 Larry Wall 眼里,Perl如珍珠般珍贵
Perl的吉祥物为骆驼据说是因为Oreilly出版的畅销书Programming Perl的封面是一匹骆驼,Perl社区就采用了骆驼作为Perl语言的吉祥物。
Perl 有什么用
引用维基百科的说法,Perl的用途很广,除了CGI以外,Perl还被用于图形编程、系统编程、网络编程、金融、生物等领域。由于其灵活性,Perl被称为脚本语言中的瑞士军刀。在CPAN上有大量优秀Perl的库。在Linux和Mac OS 上都是内置Perl的。总结为一句话——Perl很有用,当需要脚本语言的时候,不妨考虑下Perl。这些我们了解即可。
本篇文章为初尝Perl,定位为了解Perl的梗概,博主目前现实工作中也没用到Perl,仅仅当一个知识储备,以后用到Perl的时候再深入学习一番。
Windows 下的Perl环境搭建
1、访问 http://www.perl.org/ 下载Perl Windows的实现版本,这里有两个版本(Strawberry Perl 和 ActiveState Perl)这两个版本没什么大的区别,博主选择了后者ActiveState Perl 5.20
2、安装 ActiveState Perl 5.20 ,一路默认安装即可
3、验证 Perl 是否安装成功,在命令提示符下输入 perl –v
如出现上图所示信息表示 Perl 已安装成功
Perl 版Hello World
1、打开一个文本编辑器(如Notepad++),输入如下内容
# perl-w print "Hello World";
在名利提示符下运行结果为(代码保存在 1.pl 中)
上面的 # 是注释符号, perl –w 是要求 perl 显式 Warmming 信息的选项
Perl 语法梗概
1、 变量定义,在 Perl下有好几种定义变量的方法,我捡最常用两种说明:
单数变量:以$ 打头,仅表示一个变量对象
复数变量:以@打头,表示一个数组
例1:单数变量
# perl-w $pi = 3.141592; print $pi;
例2:复数变量
# perl-w @digital = (a..z); print @digital; #打印a到z的所有小写字母
2、每个语句以分号“;”结束
3、简单的数学运算
# perl-w $a = 2; $b = 3; print $a + $b; # 加法 print "\n"; print $a - $b; # 减法 print "\n"; print $a % $b; # 模运算 print "\n"; print $a ** $b; # 幂运算
4、比较操作符 及 if 分支结构
比较 | 数字 | 字符串 | 含义 |
等于 | == | eq | 判断相等与否 |
不等 | != | ne | 判断不等与否 |
小于 | < | lt | 判断小于与否 |
大于 | > | gt | 判断大于与否 |
小于或等于 | <= | le | 判断不大于与否 |
大于或等于 | >= | ge | 判断不小于与否 |
比较 | <=> | cmp | 相等为0,前者大为1,否则为-1 |
也许读者看到这个会奇怪,为什么有两套比较操作符,其实我也很奇怪,但是Perl设计人就是这样设计的,咱不计较。这两组比较符要求待比较参数先转换为合适的参数类型后比较。光说不练假把式看代码:
# perl-w $a = "a"; $b = "b"; if($a == $b){ print "两变量相等"; } else { print "两变量不相等"; } # 会打印两变量相等 因为$a 和 $b 都是字符串转换为数字都会失败,返回相同的默认值,所以相等
# perl-w $a = "a"; $b = "b"; if($a eq $b){ print "两变量相等"; } else { print "两变量不相等"; }
if分支包括 if 、if –else 、if –若干个elsif-else 3种
5、循环
Perl 有4种循环 while 、do-while、for、foeach
# perl-w # 打印1-100 被3整除的数 $var = 1; while($var <= 100){ if($var % 3 == 0){ print $var; print " "; } $var += 1; }
do-while 略
# perl-w # 打印1-100 被3整除的数 for($var = 1;$var <=100;$var++){ if($var % 3 == 0) { print $var; print " "; } }
foreach 的格式为:
foreach $i (@some_list){
statement_1;
…
statement_n;
}
# perl-w # 打印1-100 被3整除的数 # (1..100)返回的是一个数组 foreach $var ((1..100)){ if($var % 3 == 0){ print $var; print " "; } }
在 for 和 foreach 中有两个循环控制关键字——last 和 next。 last 相当于break,next 为 continue,有C基础的人都能看懂什么意思。
6、函数
函数的定义为用关键 sub 声明
sub methodName{
statement_1;
…
statement_n;
}
参数列表存在 @_ 中
如函数带返回值,结尾用 return 语句接口
看代码
# perl-w sub add{ foreach $para (@_) { print $para; print " "; } print "\n"; return $_[0] + $_[1]; # 带返回值 } print add(3,4);
一些参考资料
1、小骆驼书
2、大骆驼书
3、Perl 官网 http://www.perl.org/
本文完