zoukankan      html  css  js  c++  java
  • Perl常用内置变量

    perl中的一些内置变量,列出比较常用的:

    $_ 函数和正则表达式的默认变量,一般不加参数时perl都会使用该变量,如chomp;或者匹配操作S/**/等;
    In map( ) and grep( ) function: $_

    1 @upper_case_list = map(uc($_), @list);

    @_ 传递给子程序的默认列表参数,可以通过访问$_[0], $_[1], $_[2]...等来分别访问单个参数。

    $! 系统错误时自动会保存信息到该变量,如打开文件出错等。此时可以查看该变量。(see also $^E)
    $^E Extented OS Error information
    $^I 默认值undef,这不会影响程序。但如果将其赋值为某个字符串,该字符串就会变成备份文件的拓展名。比如使用钻石操作符打开文件时,perl的操作是,先将打开的文件名改成加了拓展名的文件名,然后再新建一个原来的文件名的文件,然后在程序一行行读入文件内容并做一些改动后,会保存到新文件中去。这样就相当于修改了文件内容,并将老文件进行了备份。当然,如果值是undef,则不会备份旧文件。
    $ARGV 从 < >读取时的当前文件名
    @ARGV perl命令行输入参数,比如多个文件名:$ARGV[0],$ARGV[1]...

    $` 匹配起始位置之前的字符串 $& 整个匹配的字符串 $' 匹配结束位置之后的字符串

    举例如下:"ABCDEFG" =~ /CD/; print " $` - $& - $' "; 打印结果:AB - CD - EFG

    $a, $b 在sort( ) 函数中: 

    1 # same thing, but with explicit sort routine
    2 @articles = sort {$a cmp $b} @files;
    3 # now case-insensitively
    4 @articles = sort {uc($a) cmp uc($b)} @files;
    5 # same thing in reversed order
    6 @articles = sort {$b cmp $a} @files;

    $^O 操作系统名称 OS Name when perl was built

    $$ Pid
    $( Group id
    $] Perl版本号+小数点patch level 5.006001
    $. 最后一次读取的文件句柄的当前行
    $" separator for print "@array"; 打印列表时的分隔符
    $@ 错误信息 Error string of last eval( )
    $? 子进程返回的状态码 Status code return by child process, closed pipe, `` etc
    匹配捕获:$1, $2, …, $+ (last bracket matches)
    $0 程序名 Program name
    %ENV 环境变量:  foreach $key (keys(%ENV)) {print "$key\t$ENV{$key}\n";}

    %SIG 信号句柄:

    1 $SIG{"HUP"} = "IGNORE";
    2 $SIG{"INT"} = "DEFAULT";
    3 $SIG{"QUIT"}= \&My_handler;
    4 $SIG{__WARNING__} = sub {
    5 die $_[0];
    6 }

    STDERR 用于标准出错内容的特殊文件句柄

    STDIN 用于标准输入的特殊文件句柄
    STDOUT 用于标准输出内容的特殊文件句柄

    关于标准输出STDOUT和标准错误STDERR的区别,可参考这里:http://liucheng.name/872/

    参考perldoc perlvar 查询更多其他变量。。。

    updated: 2011-12-27 10:36:14

    $| 如果非0,则对当前选定的文件执行写或者打印操作后强制清除缓冲区。

        这个参数可用于产生很酷的进度条。

    DATA 直接从执行它的脚本中获取数据,见这里

    $/ 默认是换行符,因此一般情况下我们使用<>读取文件时都是一行一行读取的,使用local或者undef将使得读取文件直到文件结尾。

     updated: 2013-06-30 18:46

     

  • 相关阅读:
    1.Http讲解
    1.创建SpringMVC项目
    0.学习springmvc补充
    apache-maven安装
    apache-tomcat安装
    Tomcat启动问题:严重[main] org.apache.catalina.core.AprLifecycleListener.init An incompatible version...
    Tomcat启动服务报错:Unknown version string [4.0]. Default version will be used.
    设置make为内部命令
    Xshell6和Xftp6初步使用
    Swift字符串类型
  • 原文地址:https://www.cnblogs.com/yuyan/p/2214315.html
Copyright © 2011-2022 走看看