我想打開多個文件,並複製其內容到最後一個文件打開打開多個文件及其內容複製到最後一個文件開
輸入:
file1.txt -> 1111
file2.txt -> 2222
file3.txt -> 3333
輸出應該是:
file1.txt -> 1111
file2.txt -> 2222
file3.txt -> 1111 2222 3333
我的代碼
#!/usr/bin/perl
use strict;
use warnings;
my %data;
my @FILES = @ARGV;
foreach my $file (@FILES) {
local $/ = undef;
open my $fh, '<', $file;
$data{$file} = <$fh>;
foreach my $key (keys %data) {
open (OUTFILE, ">".$file) or die "#!\n";
print OUTFILE "$key";
}
}
close(OUTFILE);
exit;
從代碼210
輸出:
file1.txt -> file1.txt
file2.txt -> file1.txt
file3.txt -> file3.txt
它不讀文件,因爲它打印的文件名,而不是它的內容,並且還我似乎無法給以前的文件的內容打印到最後一個文件。 在此先感謝
這個作品謝謝!但我不明白-tmp $$。你能告訴我它是什麼嗎? – Tomb
@Tomb:'$$'是PID。它只是創建一個臨時文件,更正確地做到這一點,請參閱[File :: Temp](http://p3rl.org/File::Temp)。 – choroba