我是初学,请教一个小程序怎么写,谢谢

我是初学,请教一个小程序怎么写,谢谢

我是初学,请教一个小程序怎么写,谢谢
写一个程序,类似于cat,但保持输出顺序关系。如果运行此程序:./myprogram fred barney betty, 输出的将是文件betty的内容,从最后一行到第一行,然后是barney, 最后是fred,同样是从最后一行到第一行。
看了又看,还是看不大明白.
看了又看,还是看不大明白你这里说的是什么意思~
就是倒序输出。如果文件小.
就是倒序输出。如果文件小可以这么做。
#!/usr/bin/perl -w

use strict;

while (shift @ARGV) {
open my $fh, '<', $_;
print join q{}, reverse <$fh>;
}




   

大文件可以用这个----.
大文件可以用这个

#!/usr/bin/perl

use strict;

my $max_buffer_size = 100; # 根据内存多少调整缓冲区大小

while (@ARGV) {
open my $fh_in, '<', shift @ARGV;
my @temp_files = qw{};
while (! eof($fh_in)) {
my @buffer = qw{};
while (<$fh_in>) {
push @buffer, $_;
last if (@buffer == $max_buffer_size);
}
@buffer = reverse @buffer;
open my $tmp_file, '+>', undef;
print $tmp_file join q{}, @buffer;
seek $tmp_file, 0, 0;
push @temp_files, $tmp_file;
}
while (@temp_files) {
my $tmp_file = pop @temp_files;
print join q{}, <$tmp_file>;
}
}




   

print reverse <>;
print reverse <>;