Chinaunix首页 | 论坛 | 博客
  • 博客访问: 532107
  • 博文数量: 119
  • 博客积分: 3167
  • 博客等级: 中校
  • 技术积分: 1215
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-20 21:21
文章分类

全部博文(119)

文章存档

2015年(21)

2012年(4)

2011年(1)

2007年(11)

2006年(50)

2005年(32)

分类:

2006-02-02 13:22:03

1. 文件的读写
shell > cat aaa
hello world
thanks
wonderful!

读取普通文件

#!/usr/bin/perl
# 打开文件
open (myfile,"aaa") || die ("Open file error");
# 读取第一行到一个变量 文件内部指针指向第二行
$first=;
# 读取第二行到最后一行
@var=;
# 关闭文件
close (myfile);
# 输出
print ("first line is : $first");
foreach $var (@var){
        print ("read line of aaa : $var");
}

文件太大的话一次把所有的行读到数组中 肯定特别占用内存
所以 可以使用while一次读一行
#!/usr/bin/perl
unless(open (myfile,"network.log")) {
        die ("Open file error");
}
while($line=){
        print ("$line");
}
close (myfile);

从管道中读取 如w命令的输出

#!/usr/bin/perl
# 文件打开的时候 打开的目标文件为管道
open (wout,"w|") || die ("Open file error");
@var=;
close (wout);
foreach $var (sort @var) {
        print $var ;
}

写入普通文件

#!/usr/bin/perl
# 以写的方式 打开一个普通文件
open (myfile,">temp")||die ("Open file error");
print myfile ("write one line\n");
close (myfile);


写入到管道

#!/usr/bin/perl
# 写到passwd命令的管道中 改变test用户的密码
open (myfile,"|passwd --stdin test") || die ("Open file error");
print myfile ("newpassword");
close (myfile);


以追加方式写入到文件

#!/usr/bin/perl
open (infile,"aaa") || die ("Open infile error");
@var=;
open (outfile,">>temp")||die("Open outfile error");
foreach $var (@var) {
        print outfile ($var);
}


阅读(1859) | 评论(0) | 转发(0) |
0

上一篇:一些URL

下一篇:USB相关 转

给主人留下些什么吧!~~