第十一章 文件系统
上一篇 /
下一篇 2009-01-08 23:03:21
/ 个人分类:perl
- 文件版本: V1.0
- 开发商: 本站原创
- 文件来源: 本地
- 界面语言: 简体中文
- 授权方式: 免费
- 运行平台: Win9X/Win2000/WinXP
第十一章 文件系统51Testing软件测试网 z,Q
kA(g5b
本章所讲的函数多数使用了UNIX操作系统的特性,在非UNIX系统中,一些函数可能没有定义或有不同的工作方式,使用时请查看Perl联机文档。51Testing软件测试网'E(V1tXE9[&]
一、文件输入/输出函数
2|K8Q aTw{Y0 本节讲述从文件中读取信息和向文件写入信息的内置库函数。
%?^lJg(ub;d01、基本I/O函数51Testing软件测试网H+BgsO+XX
ST
一些I/O函数在前面的章节中已有讲述,如
nMtKgmFl&PZ051Testing软件测试网'?y R1UJj
- open:允许程序访问文件
- close:终止文件访问
- print:文件写入字符串
- write:向文件写入格式化信息
- printf:格式化字符串并输出到文件
51Testing软件测试网n,O'g4jn!R 这里简单回顾一下,再讲一些前面未提到的函数。51Testing软件测试网+z3f2A5o"w(P8s
1)open函数51Testing软件测试网 l.MF N
q1Y)ZKI%|f
open函数将文件变量与某文件联系起来,提供访问文件的接口,例如:open(MYVAR, "/u/file"); 如果文件打开成功,则返回非零值,否则返回零。缺省地,open打开文件用以读取其内容,若想打开文件以写入内容,则在文件名前加个大于号:open(MYVAR, ">/u/file"); 向已有的文件末尾添加内容用两个大于号:open(MYVAR, ">>/u/file"); 若想打开文件作为数据导向的命令,则在命令前加上管道符(|):open(MAIL, "|mail dave");51Testing软件测试网c*CwnNxBR
2)用open重定向输入
(Cz6oJ:f*p
S1anO*v0 可以把打开的文件句柄用作向程序输入数据的命令,方法是在命令后加管道符(|),如:51Testing软件测试网0]}|Ft
open(CAT, "cat file*|");51Testing软件测试网Ws_ioH
对open的调用运行命令cat file* ,此命令创建一个临时文件,这个文件的内容是所有以file打头的文件的内容连接而成,此文件看作输入文件,可用文件变量CAT访问,如:
iW9i-m.^D'rG0 $input =;
zyF*^QN
ew }X Y0 下面的例子使用命令w的输出来列出当前登录的所有用户名。51Testing软件测试网V;p/J-n.DWqlR\8B~
BgSKG(QT0a0'm*I7@1E'Bh-ox01 : #!/usr/local/bin/perl
2IMD pD6T9M02 :51Testing软件测试网!d.i)[k"d
3 : open (WOUT, "w|");51Testing软件测试网 c6p/on!^%N:e9P
4 : $time = <WOUT>;
s.az3kG'K#^"}.m05 : $time =~ s/^ *//;
d9mQY$\4O {VI*N06 : $time =~ s/ .*//;
&Kj8L%CBY,JS:[07 :; # skip headings line51Testing软件测试网 o oE%{9}.H
8 : @users =;
,?(P$I8e@*v:N*| m09 : close (WOUT);51Testing软件测试网Q%_3O[ T8gI
10: foreach $user (@users) {
qQ-jcOf$[011: $user =~ s/ .*//;51Testing软件测试网g8O+e,sN Vh
12: }