+ -
当前位置:首页 → 问答吧 → 请教如何用标准输入把多个文件内容倒序输出

请教如何用标准输入把多个文件内容倒序输出

时间:2010-08-12

来源:互联网

本帖最后由 MicoCN 于 2010-08-12 15:48 编辑

例如文件a.txt, b.txt, c.txt, 输出则为倒序c.txt, b.txt, a.txt, 并且文件内容也为倒序输出。

下面code如下,但感觉用open对大文件有点缺陷,所以想了解下如何用STDIN的方法处理。
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. @ARGV=reverse(@ARGV);
  5. my @infile=@ARGV;
  6. my $filename;
  7. foreach $filename(@infile)
  8. {
  9. print "========$filename=======\n";
  10. open FILE,$filename or die "open file failed :$!";
  11.         my @data=<FILE>;
  12.         @data=reverse(@data);
  13.         print "@data\n";
  14. close FILE;
  15. }
复制代码

作者: MicoCN   发布时间: 2010-08-12

用正序的话用标准输入非常简洁,代码如下,但不知倒序如何实现
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. while(<>){
  5.         chomp;
  6.         print "It was $_ that I saw!\n";
  7. }
复制代码

作者: MicoCN   发布时间: 2010-08-12

open 有啥缺陷

作者: DQP   发布时间: 2010-08-12

本帖最后由 yybmsrs 于 2010-08-12 16:48 编辑

作者: yybmsrs   发布时间: 2010-08-12

楼主实现的不挺好吗?

作者: xiaobing927   发布时间: 2010-08-12



QUOTE:
open 有啥缺陷
DQP 发表于 2010-08-12 15:47




    不能说缺陷,只是想知道有没有办法用标准输入的方法。

作者: MicoCN   发布时间: 2010-08-12



QUOTE:
yybmsrs 发表于 2010-08-12 15:49




    这样只是文件名,内容没有倒过来

作者: MicoCN   发布时间: 2010-08-12

本帖最后由 yybmsrs 于 2010-08-12 16:01 编辑

回复 MicoCN


看错了

作者: yybmsrs   发布时间: 2010-08-12

热门下载

更多