perl 第七弹 变量 IV

Posted 流浪骆驼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl 第七弹 变量 IV相关的知识,希望对你有一定的参考价值。

记得点击蓝字关注我们哦!


0 1

上期回顾

  • 哈希是一组无序的键/值对

  • 哈希的名字必须以%开头

  • 哈希的键是唯一的

  • 通过访问哈希的键即可获取键对应的值

  • 对哈希指定的键再次赋值,即可更新

  • 使用delete函数,通过哈希指定的键删除键值对

  • 添加 key/value 对可以通过赋值来完成


0 2

预定义变量

Perl提供了大量的预定义变量,下面列举了常用的一些预定义变量:


$!            获取当前错误信息值,常用于die命令
# 通过open函数打开AAA.txt,如果不能打开, 则die ,输出$!中的信息# or 为逻辑运算符,如果前面为真,则不运行后面语句# die函数用于在命令或文件句柄失败时退出Perl脚本  open IN,"AAA.txt" or die $!;# 假设AAA.txt确实不存在,输出:# No such file or directory at Example.pl line 1.


$_        在执行输入和模式搜索操作时使用的默认空格变量
# 示例# 通过while循环,逐行读取AAA.txt的内容while(<IN>){  # 并将每行打印到屏幕上  print;}
# 上例等同于# 逐行读取的内容赋值给$_while($_ = <IN>){ print STDOUT $_;}


$.            文件中最后处理的当前行号
# 通过while循环,逐行读取AAA.txt的内容while(<IN>){    # 如果行号大于6,则print   if ($. > 6){     print;   }}


$@            由最近一个eval()运算符提供的Perl语法报错信息
# eval 、 $@ 用于报错捕获,可以基于获取到的报错进一步处理eval '$answer =' ; print $@ ;


@ARGV         含有命令行参数
#例如已有Example2.pl脚本,脚本内容如下:# 判断是否有外部传参if (@ARGV){  # 获取命令行传递的参数,并连接为一个字符串  print join("",@ARGV);}
# 命令行执行脚本perl Example2.pl 1 23 4 5输出:12345



@INC          库文件的搜索路径
# 在执行脚本前,将一些包路径加入到@INC中# perl加载包时即查找@INC中是否存在该包BEGIN{     unshift (@INC,"/home/vvv/perl_package/");};


@_            在子例程中,@_变量含有传递给该子例程的变量内容
# 示例# 自定义test_function函数sub test_function{    # 将传递的第一个参数,传递给变量$parameter  my $parameter = shift;    # 打印$parameter    print $parameter ;}
# 等同于上例sub test_function{ my $parameter = shift (@_); print $parameter ;}

%ENV          关联数组型变量%ENV含有当前环境信息

    $1,$2, ...    正则捕获

$test_str = "There is no royal road to learning." ;$test_str =~ /no (.*?) road to (.*?).$/;print "$1\t$2\n" ;
__END__(output)royal learning


$/            input record separator(输入分隔符)
# 示例$/ = ">";# 此时程序会将>视为每行结束,而非回车


0 3

总结

 各种预定义变量的含义,简单示例。

        ps:
            变量、数组、哈希、预定义变量,这些各自的特点需要分清楚才能正确使用。这一部分告一段落,如有不熟悉,要及时回顾啊~
            
               下面我们就要开始学习各种函数,如同百宝箱一样~~
                



END






上期推荐阅读
@





以上是关于perl 第七弹 变量 IV的主要内容,如果未能解决你的问题,请参考以下文章

前端学习 第七弹: Javascript实现图片的延迟加载

Spring第七弹—依赖注入之注解方式注入及编码解析@Resource原理

集群模式执行Spark程序(第七弹)

『MXNet』第七弹_分类器demo示意

C语言期末第七弹

创作赢红包python学习——第七弹