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

    八、命令行参数

      @ARGV:全局,$ARGV[0] 是第一个参数,不是程序名,<>是对$ARGV的引用。@ARGV一旦赋值,原值丢失。
      1.第一次看到<>时,打开以$ARGV[0]中的文件,无参数则打开STDIN读,所以可以省略.
      2.shift(@ARGV)元素数量减少一个.
      3.<>读打开的文件中的所有行
      4.再读第二个参数表示的文件
      5.文件尾检测:eof和eof(),文件结束返回真。
      @ARGV=(“file1″,”file2″)
      while($line=<>){if(eof){print ‘eof’;}}
      读取file到末尾时,下一循环打开下一文件,每次读完一个文件输入出eof
      if(eof()){print ‘eof’;}所有文件都读完才输出eof

    foreach(@ARGV)
    {
    print "==$_";    #循环打印出参数
    }
    

    九、写文件
    print F (“str”)

    F文件句柄,后面为空格,省略F为STDOUT
    str输出内容,可用单引号’,不进行变量替换,不加引号,计算出变量的值再输出。
    ()可省略,这是函数的特点。

    printf(“format str”,$a,$b….),格化化串包含%m.nf的格式指示,后面依次是相应的值列表。
    write 用于格式化输出,不是read的相应操作。
    syswrite(F,$data,length,$offset) 同sysread

     

    十、文件权限和随机访问

    chmod(mode,filelist)
    mode=4位8进制数,unix中的文件owner,组,其它的设置。
    chown(userid,groupid,filelist)改变文件的用户与组。
    umask(maskval):返回原mask,unix中的umask值设置。

    文件指针:
    tell(F):当前位置。
    seek(F,distance,pos):定位到指定位置。
    F文件句柄,pos=0相对文件头,1相对当前位置,2相对文件尾。
    distance相对pos表示的位置多少字节。

  • 相关阅读:
    MongoDB 学习笔记之 Aggregation Pipeline实战实现inner join
    MongoDB 学习笔记之 Aggregation Pipeline
    Shiro学习(3)授权
    Shiro学习(2)身份验证
    Shiro学习(1)简介
    redis常用命令建议
    Redis入门
    导出EXCEL(带数据)
    导出文件中文乱码处理
    poi之Excel上传
  • 原文地址:https://www.cnblogs.com/Hebe/p/4444455.html
Copyright © 2011-2022 走看看