zoukankan      html  css  js  c++  java
  • 第三章 Typeglob 和符号表

    Typeglob 和符号表:
    
    zjzc01:/root/perl# cat t5.pl 
    $a=20;
     {
     local  ($a); ##先保存$a原先的值,新值为undef
     my (@b);     ##Lexical变量
     $a = 10;  ##改变$a的新值
    @b = ("wallance","grommit");
    print $a;   ##打印结果位"10"
    print "
    ";
    print "@b";  ##打印结果位"wallace grommit"
    print "
    ";
    };
    
    ##代码块结束,又回到全局域中,此时只有$a 有效
    
    print $a;    ##打印出"20",原先的值
    print "
    ";
    
    print @b;    ##打印警告信息,因为不存在全局变量@b
    print "
    ";
    
    
    zjzc01:/root/perl# perl t5.pl 
    10
    wallance grommit
    20
    
    zjzc01:/root/perl# 
    
    
    
    zjzc01:/root/perl# cat t6.pl 
    open (LOG ,"<","processor.dat");
     while (<LOG>) { 
    chomp;
    print "$_ is $_
    ";
    };
    zjzc01:/root/perl# perl t6.pl 
    $_ is id               :42343              ##雇员号
    $_ is Name             :E.F.Schumacher
    $_ is Office Hours     :Mon 3-4,Wed 9-9
    $_ is Courses          :HS201,SS343        ##讲授课程
    
    
    
    zjzc01:/root/perl# cat t6.pl 
    open (LOG ,"<","processor.dat");
    local $/=undef;
    chomp;
     while (<LOG>) { 
    print "$_ is $_
    ";
    };
    zjzc01:/root/perl# perl t6.pl 
    $_ is id               :42343              ##雇员号
    Name             :E.F.Schumacher
    Office Hours     :Mon 3-4,Wed 9-9
    Courses          :HS201,SS343        ##讲授课程
    
    
    变量$/  中保存输入记录分隔符(默认为"
    ").
    
    
    砖石操作符使用它来返回下一条记录(默认为下一行).如果你取消该变量值的定义(undef),
    
    
    整个文件就会被一口气全部读进来。 为了免于保存于恢复$/的原始值,你可以像下面这样使用local操作符:
    
    
    Typeglob:
    
    我们前面提到typeglob可以被局部化(只能使用local), 还可以相互赋值。通过typeglob 赋值可以创建标示符的别名
    
    例如:
    
    zjzc01:/root/perl# cat t7.pl 
    $spud = "Wow!";
    
    @spud = ("idaho","result");
    
    *potato = *spud;
    
    print "$potato is $potato
    ";
    print "@potato is @potato
    ";
    
    zjzc01:/root/perl# perl t7.pl 
    $potato is Wow!
    @potato is idaho result
    
    
    
    $!  返回值:
    
    app01:/home/tomcat> cat 1.pl 
    unlink{'/root/1.sh'};
    
    if ($!){print "$!","
    "};
    app01:/home/tomcat> perl 1.pl 
    No such file or directory
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

  • 相关阅读:
    CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内?
    贝塞尔曲线
    A little composer
    ABAQUS操作笔记
    ABAQUS薄板实例
    引用
    引用、重载、递归概念及应用
    Photoshop图片处理-云毕业照
    图片存储大小更改
    论文公式之“公式居中,序号在右”
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351131.html
Copyright © 2011-2022 走看看