+ -
当前位置:首页 → 问答吧 → 关于一个保存文件的问题?

关于一个保存文件的问题?

时间:2010-11-10

来源:互联网

本帖最后由 xingzhou823 于 2010-11-10 15:33 编辑
  1. use strict;
  2. use warnings;

  3. open my $fh,"<","rice_test01.txt" or die "Error.\n";
  4. while (<$fh>){
  5.         s/^a.*t/abcdefg/ig;
  6.         print;
  7. }
  8. close $fh;
复制代码
运行后,结果源文件rice_test01.txt没变,但是执行后perl只是把结果打印在屏幕……
怎么办呢?

作者: xingzhou823   发布时间: 2010-11-10

重定向一下。。

perl a.pl > 1.txt

作者: 兰花仙子   发布时间: 2010-11-10

回复 兰花仙子


    恩,可以了。

假如我想改到源文件里面,那该怎么办呢?

作者: xingzhou823   发布时间: 2010-11-10

回复 xingzhou823


    可以使用 vi 改

作者: masylichu   发布时间: 2010-11-10

回复 xingzhou823


    再定义个输出句柄就ok 拉  

作者: jiannma   发布时间: 2010-11-10

回复 jiannma


    如果是将一个文件的内容替换到另一个文件当中,用hash,那该怎么弄呢?
  1. use strict;
  2. use warnings;

  3. open my $fh,"<","rice_test01.txt" or die "Error.\n";
  4. open my $sh,"<","test02.txt" or die "Error.\n";

  5. my %hash = $sh;
  6. while (<$fh>){
  7.         s/^a.*t/$hash{^a.*t}/ig;
  8.         print;
  9. }
  10. close $fh;
复制代码

作者: xingzhou823   发布时间: 2010-11-10

回复 兰花仙子


    怎样才能将某个文件的第一列取出来作为一个数组来用呢?

my @line = $F(0) 为什么不可以呢?

作者: xingzhou823   发布时间: 2010-11-10



QUOTE:
回复  兰花仙子


    怎样才能将某个文件的第一列取出来作为一个数组来用呢?

my @line = $F(0) 为 ...
xingzhou823 发表于 2010-11-10 16:40



$F(0),这是哪种语言的写法?
perl里取文件第一列大多是用split分割来获取。

作者: x9x9   发布时间: 2010-11-10