perl脚本基础
perl脚本基础
版本:perl5
支持网站: CPAN
查看perl版本:perl --version
Perl脚本是一种常见的编译脚本。本文首先对Perl脚本进行简单介绍,其后列出在实际中常遇到的Perl语言语法,并进行简单举例。(主打能看懂,但不保证能学会)
1 Perl概述
Perl,可能有很多解释,但Perl的缔造者Larry Wall是先想出该词,再思考如何解释的。因此,Perl不是一个缩写词,也无需关注其全程是什么。
Perl(大写P)一般指代程序语言,perl(小写p)一般指代实际编译并运行程序的解释器。(perl的标志是camel)
perl脚本只是众多脚本语言的一种,存在即合理。
Perl具有以下优势:
(1)快速写出”难看但能用“的一次性程序
(2)擅长处理总体于文字处理有关的问题(本身是纯文本文件,可以用任何编辑器)
不适合做如下工作:
(1)制作封闭式二进制可执行文件
1.1 hello world脚本示例
运行代码:(注意,赋予可执行权限,chmod +x kkk.pl
)
运行结果:
1.2 基本规则
(1)可以在任意位置添加空白符(空格、制表符、换行符)
(2)语句的结束以";"
分隔
(3)注释从"#"
开始,到换行结束
(4)开头的"#!"
指定执行该文件的程序路径,此处就是/usr/bin/perl
(5) \
反斜线转义
(6) ` 反引号,
(7)'
单引号,'\n'
中的字符串表示字符原义:反斜杠和字母n
(8)"
双引号,"\n"
中的字符串,如有转义,则表示转义之后的结果:回车
(9)<> 尖括号
(10)区分大小写
(11)$
开头声明标量变量,$name="Lucy"
(12)@
表示数组中所有的内容,也可通过下标访问$Name[i]
或,@Name
(13)foreach
循环,默认变量$_
表示当前遍历值
(14)sub
定义子程序的关键字,sub func {xxx; }
(15)&
调用子程序,可在脚本中任何位置调用,&func;
(16)默认子程序最后一次执行结果为子程序返回值
(17)子程序参数传入,直接在调用时添加&func(param1,param2)
,在子程序中,通过特殊数组变量@_
或$_[i]
访问输入参数(其中i为数组下标)
(18)默认情况下,perl中所有变量为全局变量,声明私有需要在变量声明前添加my
关键字,如:my $m;
(19)return操作符可以立即返回,可携带返回值。
(20)defined常用于判断是否到文件尾部
(16)use
指定版本号,use 5.034
;
(xx)perl脚本常见文件名后缀".pl",(没有也可以直接运行)
(xx)运行方式:perl xxx
或./xxx
都可
待续
2 正则表达
2.1 元字符/量词/模式分组
符号 | 含义 | 举例 |
---|---|---|
. | 匹配任意一个字符的通配符(除换行符) | /hel.o/ ,这个模式匹配hello、hel=o、hel.o等,如果仅匹配’.',需要在前面加上转移字符,如/3\.1415/ |
* | 匹配其前面的条目0次或多次 | /fre\t*barney/ 匹配fred和barney之间任意数量的\t |
.* | .和*混用,表示匹配任意字符零次或无限多次 | |
+ | 匹配其前面的条目1次以上 | |
? | 其前面的条目是可有可无的 | |
() | 匹配时,将其中内容视为一个整体匹配 | |
[] | 字符集 | |
\i | 反向引用匹配,i表示匹配顺序 |
参考资料:《Perl语言入门(第六版)》