zoukankan      html  css  js  c++  java
  • perl笔记

    函数返回hash引用

    my %h=%{foo()}    #接收hash
    sub foo{
       my %fh;
       $fh{a}=1;
       return \%fh;   #返回hash引用
    }

    在hash中,当检验一个元素值是否被定义是用defined,当检验一个key在hash中是否存在时,用exists。

    if(defined $hash{$key}){...}
    if(exists $hash{$key}){...}

    正则匹配时,=~之间不能有空格!!!

    一个句柄可以多次使用,但每次使用都要open文件再close文件。如果只open一次文件,再多次使用,最后close文件,可能会出现意料外的结果!!!

    open(inn,"A.txt");
    Eval("B.txt"); #两次调用Eval函数 Eval("C.txt"); close(inn); sub Eval{ my ($file) = @_; open(in,$file); #每次调用Eval时都会重新open&close文件。使用同一句柄,读取不同的文件,每次都是从头开始读,OK! while(<in>){ $line1 = $_; $line2 = <inn>; #第二次调用读A文件时,从第一次调用最后一次读取到的A文件位置的下一行开始读
    #如果第一次调用时将A文件读取完毕,第二次调用将读不到任何内容,这可能不是本想要的结果;如果两次调用Eval都想从头读取同一文件A,那么应该在Eval函数体中open A & close A。
    } close(in); }

    写文件:

    open(out,">D.txt");    #写入文件,如果D已经存在,则已存在文件会被新写入内容覆盖。
    open(OU,">>E.txt");    #写入文件,如果E已经存在,则新写入内容附加在已存在文件的后面。
    

    保留小数点后两位:

    $f =123.456;
    $s = sprintf "%0.2f",$f;
    print "$s
    ";
  • 相关阅读:
    [转]好习惯养成的10个步骤
    模拟资料
    [转]暗时间
    [转]30个小改变,造就你的卓越人生
    [转]Word 2007文档中图片不显示或对象不显示的解决方法
    ubuntu 10.04 安转2.6.38内核
    [转]可以让你少奋斗10年的工作经验
    [转]Vim 复制粘帖格式错乱问题的解决办法
    C# 获取类中所有的属性
    sql 脚本
  • 原文地址:https://www.cnblogs.com/tina-ma/p/3772997.html
Copyright © 2011-2022 走看看