Perl 语言笔记(4) -- 输入输出

来源:互联网 发布:在这个网络社会上 编辑:程序博客网 时间:2024/06/05 03:21

输入输出

  • 标准行输入符<STDIN>
    用于返回从标准输入端读入的一行内容(带换行),一般用 chomp($line =<STDIN>),也可以循环读while(chomp($line =<STDIN>)),在列表上下文中返回标准 输入端的所有行的列表。比如foreach(<STDIN>)
  • 钻石操作输入符<> 它将程序的调用产生@ARGS里的字符串当作文件名,逐个打开文件,并将文件内容当作输入源来处理,当一个文件读完后自动切换到下一个文件。如果打不开也会跳到下一个文件。在命令行输入的文件名中,连字符-可以代表标准输入流。这个特性可以让perl快速实现sort,cat,grep之类的功能。
    例如while(defined($line=<>)){ chomp($line); print “it is $line";}
    print <>; //类似cat功能
    print sort <>;//类似sort功能
    钻石操作符<>使用@ARGV数组作为默认参数。在使用<>之前,对@ARGV动的手脚都会影响后面使用<>。@ARGV是系统预定义的用于保存程序命令行的输入。
  • printf格式化输出 %g可以代替%f,%d进行输出类型的自动选择,输出%号要用%%而不是\%。数值输出可以指定精度,有效位以及对齐方式。
  • 文件句柄
    • STDIN,STDOUT,STDERR系统默认的标准输入输出错误文件句柄,不要重复使用此名字,以免混淆。
    • open FD,"< readfilename"; open FD,"> writefilename"; open FD,">> appendfilename"; open 返回真表示成功,假表示失败。
  • 文件句柄进行读操作: while(<FD>){chomp; }
    • 文件句柄进行写操作: print FD,"hello world";输出函数print printf在未接句柄明时默认是STDOUT,可以通过select FD将默认句柄改为FD。
  • die函数 die后跟输出信息,函数调用后会往STDERR输出,并使得程序以非0错误码返回。die "o!my god..$!";# $!表示系统的错误信息。
  • warn函数 给出警告信息,但并不会然程序退出。
  • say函数 say是perl 5.10版新增的一个函数,和print类似的功能,可以自动在输出语句添加一个换行符号,类似c中的puts。
原创粉丝点击