您的位置:首页 > 其它

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

2012-03-19 21:31 337 查看

输入输出

标准行输入符<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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: