zoukankan      html  css  js  c++  java
  • perl学习之I/O基础

    1.从标准输入进行输入<STDIN>

    2.从钻石操作符进行输入<>

    3.参数调用@ARGV

    4.向标准输出进行输出

    5.用printf进行格式化输出


    1.<STDIN>

    while(<STDIN>)

      {

       print "I saw $_";

      }

     while(defined($_ = <STDIN>)){

         print "I saw $_";

      }

    NOTE:行输入操作符<STDIN>和Perl最喜欢的缺省变量($_)之间没有任何关系。

    foreach (<STDIN>){

    print "I saw $_";

    }           

    这个输入到底何时结束呢?????列表输入结束完才进入循环。

    foreach 的缺省控制变量是$_。

    foreach 循环中,行输入操作符用在列表上下文中(因为foreach只能遍历一个列表)。所以他必须读入所有的输入,然后循环才能开始执行。

    2.<>

    while(defined($line = <>)){

    chomp($line);

    print "It was $line that I saw! ";

    }

    while(<>){

    chomp;

    print "It was $_ that I saw! ";

    }

    <>钻石操作符通常用来处理整个输入,所以如果你的程序中不止一次使用了它,那么一般来说这是一个错误。

    <>钻石操作符读取输入,但输入本身(一般在缺省情况下)是在$_中。

    <>钻石操作符会自动继续下一个文件,很像你对cat或其他标准工具所期望的那样。

    2.参数调用

    @ARGV当程序启动后,已经被填入了调用参数的完整列表。

    可以用shift对@ARGV操作。

    3.向标准输出进行输出

    print 操作符取一个值得列表,然后把每一个条目(当然作为字符串)按顺序发送到标准输出,一个接一个。它不添加额外的字符在条目的前面、后面或两个条目之间。

    它不会(缺省地)添加任何东西,但这个缺省行为可以改变。

    print @array;  #打印条目的一个列表

    print "@array"; #打印一个字符串(包含一个替换的数组)  《===这个经常用,但没看懂。

    print 是寻找一个字符串列表来打印,它的参数计算就在列表上下文中进行。<>钻石操作符(作为一种特殊的行输入操作符)在列表上下文中会返回一个行的列表。

    所以print  和 <>可以配合使用。

    eg: print <> ;

          print sort <>;

    如果print的调用看起来像一个函数调用,那么它就是个函数调用。

    eg: print (2+3);

          print  (2+3)*4  ###值为4,打印出5。

    规则:“如果它看起来像一个函数调用,那么它就是一个函数调用”适用于Perl的所有列表函数,而不仅仅是print。

    4.用printf格式化输出

    5.数组与printf

    不能用一个数组作为printf的参数,数组可以含有任意数目的条目,一个给定的格式字符串只能与一定数目的条目一起工作。

     但格式字符串可以动态给出,利用数组。

  • 相关阅读:
    CentOS7下部署Django
    ORM动态创建表
    JQuery制作加载进度条
    文件上传、下载
    Django执行事务操作
    python常用代码
    深入理解Java虚拟机-垃圾收集器
    ILRuntime作者林若峰分享:次世代手游渲染怎么做
    Android:手把手教你构建 全面的WebView 缓存机制 & 资源加载方案
    unity3d 热更篇--ILRuntime原理
  • 原文地址:https://www.cnblogs.com/chip/p/4183839.html
Copyright © 2011-2022 走看看