• 大骆驼第一章 perl概述


    [oracle@dwh1 big]$ cat 1.pl 
    $camels = '123';
    print $camels + 1 ," ";
    [oracle@dwh1 big]$ perl 1.pl 
    124


    同样的,一个引用在"解引用"环境表现为一个引用,否则就像一个普通标量一样工作,比如,我们可以说:


    $fido = new Camel "Amelia";


    if (not $fino) {die "dead came;";}
    $fido -> saddle();


    在这里,我们首先创建了一个指向Camel对象的引用,并将它赋给变量$fido,在第二行中,我们将$fido当前


    一个布尔值来判断它是否为真,如果它不为真,程序将抛出一个例外。在这个例子中,这将意味着new Camel构造


    函数创建Camel对象失败。


    最后一行,我们将$fido作为一个引用,并调用Camel对象的saddle()方法。


    1.2.3  复数变量:




    和C里一样,数组是以0为基的,你可以用下标0和3来表示数组的第一道第四个元素


    $home[n] , 这里n是下标(元素编码减一)




    [oracle@dwh1 big]$ cat 2.pl 
    $home[0] = "couch";


    $home[1] = "chair";


    $home[2]  = "table";


    $home[3]  = "stove";


    print "@home is @home ";
    [oracle@dwh1 big]$ perl 2.pl 
    @home is couch chair table stove




    散列:


    [oracle@dwh1 big]$ cat 3.pl 
    %longday = (
                "SUN" => "Sunday",
                "Mon" => "Monday",
                "Tue" => "Tuesday"
    );
                


    print "SUN=>$longday{SUN} ";
    [oracle@dwh1 big]$ perl 3.pl 
    SUN=>Sunday




    1.4 文件句柄:


    [oracle@jhoa 20150316]$ cat 1.pl 
    print STDOUT "Enter a number :";  ###请求一个数字


    $number = <>;  ##输入数字


    print STDOUT "The number is $number. ";


    1.5.4 单目算术操作符:






    ##先将$a的值赋值给$b ,$a在自加变为6


    [oracle@jhoa 20150316]$ cat 2.pl 
    $a = 5;


    $b = $a ++;


    print "$b is $b ";
    print "$a is $a ";


    [oracle@jhoa 20150316]$ perl 2.pl 
    $b is 5
    $a is 6








    -----------------------------------------
    [oracle@jhoa 20150316]$ cat 2.pl 
    $a = 5;


    $b = ++$a;


    print "$b is $b ";
    print "$a is $a ";
    [oracle@jhoa 20150316]$ perl 2.pl 
    $b is 6
    $a is 6




    $b被赋值为$a自增后的值 6


    [oracle@jhoa 20150316]$ cat 3.pl 
    @users = qw/ aa bb cc dd ee root ff gg hh lp ii jj/;
    foreach $user (@users){
     if ($user eq "root" or $user eq "lp"){
        next;
     }
    if ($user eq "special") {
      print "Found the special account: ";
    last;
     }
    else {print "$user is $user ";
    }
    }
    [oracle@jhoa 20150316]$ perl 3.pl 
    $user is aa
    $user is bb
    $user is cc
    $user is dd
    $user is ee
    $user is ff
    $user is gg
    $user is hh
    $user is ii
    $user is jj


    1.7 正则表达式:


    split: 
    [oracle@jhoa 20150316]$ cat 4.pl 
    ($good,$bad,$ugly) = split(/,/, "vi,emacs,teco");
    print "$good---$bad---$ugly ";
    [oracle@jhoa 20150316]$ perl 4.pl 
    vi---emacs---teco


    + 是一个特殊字符,表示匹配"+前边内容一次或多次。


    s  空白 f


    w  [a-zA-Z_0-9]  匹配任何单个字符


    d 数字


    . 点号 匹配所有的字符


    d{7,11} 将匹配最少7位数字,但不会多于11位数字。


    + 代表最少一次


    *  表示0次或多次


    ? 表示零或一次




    替换xxxx字符:


    [oracle@jhoa 20150316]$ cat 5.pl 
    $_ = "fred xxxxxxx barney";
    s/x+//;
    print "$_ is $_ ";
    [oracle@jhoa 20150316]$ perl 5.pl 
    $_ is fred  barney




    1.7.2  取消贪婪匹配:




    在perl里你可以强制进行非贪婪匹配,在量词后面加上一个问号来表示最小匹配。


    我们同样的用户名匹配就可以写成/.*?:/。 这里.*? 现在尽可能少地匹配字符,而不是尽可能多的匹配字符。





































































  • 相关阅读:
    【五】服务熔断、降级 —— Hystrix(豪猪)
    32. Springboot 系列(八)动态Banner与图片转字符图案的手动实现
    31.【微服务架构】SpringCloud之Feign(五)
    新SQL temp
    lombok踩坑与思考
    lombok注解介绍
    叉乘实现角色和敌人的位置判断(左上,左下,右上,右下)
    2维,3维向量单位化
    2个2D向量计算交点的夹角和补角
    Unity编辑器-创建单独编辑框,折叠框,提示框
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351822.html
Copyright © 2020-2023  润新知