• Perl语言编程>>学习笔记


    1. 使用反引号可以调用外部程序并返回程序的输出, 如  $cwd = `pwd`; 

    2. Perl 中的变量类型之间的区别主要是单数和复数; 单数变量称为标量 $scalar , 复数变量称为数组 @array .   Perl中还有 Hash, Handle, typeglob 和引用 等一些变量类型.  Perl中的标量可以使用 = 赋值, 可以指向其他变量或对象等等复杂数据结构的引用.  

    3.Perl中的引用

    $ary = @myarray; # 引用一个命名数组
    $hsh = %myhash; # 引用一个命名哈希
    $sub = &mysub; # 引用命名子程
    
    $ary = [1,2,3,4,5];  # 引用匿名数组
    $hsh = {"Roger"=>"A", "r"=>4};  #引用匿名哈希
    $sub = sub{print "Hello
    ";}  #引用匿名子程
    
    $fido = new Camel "Amelia";  # 引用一个对象

    4. Perl中的复数变量

      => 需要在赋值等式右边提供列表环境, 当需要用编号查找时用数组,  如果需要用名称查找,则用散列

      => 可以通过列表赋值简单实现两个标量的值交换:  ($var1,$var2)=($var2,$var1); 

      => 因为散列是一种特殊的数组, 可以通过{}来获取单个散列元素 , 如: $roger{'name'} , 注意因为是处理标量, 所以前面用 $,而不是 % ,后者表示整个散列表.如果用了 %roger{'name'},那么得到的是键值一起.  另外胖箭头左边的字符串不需要加引号(自动加), 而右边不行(考虑要支持复杂数据结构), 所以不加可能会和保留字冲突.

      => 散列的键值之间可以用逗号隔开, 因此可能会在自动构造时用上, 如:

    $longday = {"Sun","Sunday","Mon","Monday"};

    5. Perl中的复杂数据结构

      在Perl中, 逗号用于分隔,小括号用于分组, 但是并不能将一个列表转换成为标量; 如果需要将一个列表转换成一个标量要用 [ ] , 表示是一个匿名数组; 如果要将一个哈希转换成一个标量, 需要使用 {} 表明是一个匿名散列. 所以可以定义一个哈希

    $wife{"Jacob"}=["A","B","C","D"];
    # print "$wife{"Jacob"}[0]
    ";
    print $wife{"Jacob"}[0]."
    ";  ## A
    $kids_of_wife{"Jacob"} = {
        "A" => ["A1","A2"],
        "B" => ["B1","B2"],
        "C" => ["C1","C2"],
        "D" => ["D1","D2"]  
    };
    # print "$kids_of_wife{"Jacob"}{"A"}[0]
    ";
    print $kids_of_wife{"Jacob"}{"A"}[0]."
    ";   ## A1

    6. Perl中的foreach循环中循环变量直接引用数组元素本身, 修改循环变量就是修改原始数组,  和java不同 , 可以在foreach 中修改原始数组.

    7.使用行输入和$_可以是程序简洁并增加可扩展性, 如匹配一个文件中的 链接:

    while(<FILE>){
        print if /http:/;
        print if /ftp:/;
        print if /mailto:/;
        ...
    }
  • 相关阅读:
    CentOS6.3搭建Nginx代理访问MongoDB GridFS图片资源
    PHP判断变量是否存在及函数isset() 、empty()与is_null的区别
    【摘】请问make -j8 和make -j4 是什么意思?什么作用?
    关于数字、数据处理的几个PHP函数汇总
    Windows下Nginx的启动、停止等基本命令
    Git 简明教程
    PHP函数preg_replace() 正则替换所有符合条件的字符串
    如何挂载阿里云Linux服务器的“数据盘”(新购买)
    ThinkPHP模板中JS等带花括号处会被解析错误的解决办法
    移动端与PHP服务端接口通信流程设计(增强版)
  • 原文地址:https://www.cnblogs.com/roger9567/p/4621623.html
Copyright © 2020-2023  润新知