zoukankan      html  css  js  c++  java
  • Perl学习笔记(七)--文件(二)

    五、错误输出函数与错误变量  

    open()||die “error $!”  成功时不执行die,失败时执行
    

       1.die($errstr):向STDERR输出指示错误信息的串,然后退出程序。
      2.warn($errstr):向STDERR输出警告信息,不退出程序。
      3.$!最后一次错误的信息,一般与die,warn结合使用。
      说明:
      die($str)中$str最后不是/n时,输出自动添加at程序名line行号,如die(“can’t open”)
      输出can’t open at myprog line 13,加上/n如”can’t open”时没有添加信息。

    六、文件缓冲
      close(F):最后要关闭文件,隐含关闭文件,重打开已经打开的,先关闭再打开,程序退出自动关闭,这时才真正写文件。

      1.文件缓冲:通常为带缓冲的文件写,写文件时,系统先写到称为文件缓冲区的内存中,缓冲满再真正写入磁盘.一般在关闭时缓冲内容才开始写入磁盘,称为刷新,结果是用  tail -f  是看不到不断地输出内容的。
      2.无文件缓冲:每次写都真正写入磁盘中,不经过内存,频繁写入可能影响性能。
      3.设置$|变量决定是否有文件缓冲,$|=1无缓冲,但只对当前输出文件有效,如STDOUT,设置另外的文件要先用select(F)。
      4.select(F)设置当前文件,返回原文件句柄,设置完再select(OLD)返回原文件。

      缓冲 无缓冲
    打开 open,sysopen sysopen
    关闭 close  
    <>,readline sysread
     print syswrite
    定位  tell,seek sysseek 


      其它文件打开函数
      间接文件变量:用简单变量来表示文件变量,代表文件变量名
      $a=”F”;open($a,”mode”,”path”);

     

    七、读文件
      1.常见方式:$line=<file> 读一行到line,指针后移一行,缺省读到$_中
        $/=’/n’ 为行分隔符,遇到它则为一行结束,行包含$/
      2.用chomp($s)去除此标志,行尾不含$/则不去除字符。
      3.可设置$/为其它字符串,遇到$/为行结束,chomp去除此字符串。

      @array=<file> 文件内容全部读出,每行为一个元素,含回车,当从STDIN中读时,可省略为<>。
      read(F,$in,len[,$offset] 读入$in
      sysread(F,$in,len[,$offset])
      getc(F)读一个字符

  • 相关阅读:
    关于返回上一页功能
    Mybatis Update statement Date null
    SQLite reset password
    Bootstrap Validator使用特性,动态(Dynamic)添加的input的验证问题
    Eclipse使用Maven2的一次环境清理记录
    Server Tomcat v7.0 Server at localhost failed to start
    PowerShell一例
    Server Tomcat v7.0 Server at libra failed to start
    商标注册英语
    A glance for agile method
  • 原文地址:https://www.cnblogs.com/Hebe/p/4442246.html
Copyright © 2011-2022 走看看