Perl 主体代码之外的常用知识点

Perl的第一行

与其他的脚本语言类似,perl的第一行也是以shebang开头。
在这里插入图片描述
有关Shebang的详细解释,下面这篇博文写的很清晰,感谢作者。
释伴:Linux 上的 Shebang 符号(#!)
那在perl中,第一行的作用就是,linux操作系统启动/usr/bin/目录下的perl解释器解释Shebang所在的文件。
有时,在Shebang语句后,会带一个 -w 符号,表示开启警告,作用相当于use warnings,在发现程序错误时给出警告提示。

第一行之后,不一定需要但最好使用的use strict和use warnings

并非在每一个perl脚本中都能在Shebang之后见到这两行:
在这里插入图片描述
因为它们的作用是,强制编码人员使用正确规范的编码风格,否则会编译失败或给出告警。
use strict:强制编码人员在使用变量之前先声明变量,可以使用my关键字声明变量,my关键字将变量的范围限制为局部。如果没有使用my关键字声明变量,会给出相应的错误提示。
use warnings:帮助编码人员找到打字错误,在看到程序出错时发出警告。
注意:use strict会在程序发现错误时中止程序的执行。而use warnings只会提供警告,不会中止执行。另外,use warnings 和 use strict 的作用并不重叠,事实上它们两个应该共同使用。

Perl中的特殊变量

@AGRV

@AGRV用来存储运行脚本时传递的命令行参数。
举例,test.pl是将要执行的脚本文件,该脚本执行需要三个参数,假设分别时a,b,c。
则运行脚本的命令为,test.pl a b c
那么a,b,c作为一个数组,即被保存在@AGRV中。此时,@AGRV=(a,b,c)
@AGRV作为一个数组,具有perl数组的所有属性,可以通过$AGRV[n]来访问数组元素,即访问参数列表中的单个参数。也可以遍历,甚至修改该数组。

$0

$0表示当前正在运行的perl脚本名。例如上小节提到的test.pl

$_

$_表示 :
1 在没有指定变量的情况下,默认使用$_变量中的内容参与程序运算。
举例:$_ = “hello perl”;print;
输出为 hello perl。第二个语句print,后面没有指定要打印的变量,所以默认打印的就是$_中的内容。
2 表示默认的当前变量,比如对于一个循环来说,默认的当前变量就是正在循环的变量值。

foreach ('aaa','bbb','ccc') {
    pint $_;
}
aaa
bbb
ccc

上面的例子可以看出,$_表示着每一次循环时的变量。 并且这种用法经常用在正则匹配中。比如打开了一个文件保存至文件句柄$fp中

foreach (<$fp>) {
    if($_=~m/.*(\d+)/) {
    ..............

类似上面的形式,使用$_对文件的每一行进行循环和正则匹配,是常常会在代码中见到的一种形式。

$1 $2…$9

$1 $2 …$9,这一类特殊变量,是正则表达式中使用的变量,用来捕获或提取正则匹配中匹配到的项。

my $test = "hello perl"
if ($test=~m/(\w+) (\w+)/) {
    print"$1\n";
    print"$2\n";
}
hello
perl

上面的例子中,先定义了test字符串的内容。然后在if条件语句中,使用了正则匹配。这里暂时不详细讲解正则表达式,只先告诉读者第一个(\w+)匹配到了hello这个内容,第二个(\w+)匹配到了perl这个内容。那依次地,$1捕获了hello,$2捕获了perl。再用print语句输出出来。

以上,是目前所想到的perl主题代码之外的常见知识点。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值