Ich mag würde mehrere Dateien öffnen und kopieren deren Inhalt in die letzte Dateiöffnen Sie mehrere Dateien und kopieren Sie ihren Inhalt in die letzte Datei geöffnet
Eingang geöffnet:
file1.txt -> 1111
file2.txt -> 2222
file3.txt -> 3333
ausgegeben werden soll:
file1.txt -> 1111
file2.txt -> 2222
file3.txt -> 1111 2222 3333
meinen Code
#!/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;
Ausgabe aus dem Code:
file1.txt -> file1.txt
file2.txt -> file1.txt
file3.txt -> file3.txt
Es ist nicht die Dateien zu lesen, weil es die Dateinamen druckt, anstatt es Inhalt ist und auch scheinen kann ich nicht den Inhalt der vorherigen Dateien in die letzte Datei zu drucken. Vielen Dank im Voraus
das funktioniert dank! Ich verstehe das -tmp $$ nicht. Kannst du mir sagen, was ist das? – Tomb
@Tomb: '$$' ist die PID. Es erstellt nur eine temporäre Datei, um es genauer zu machen, siehe [File :: Temp] (http://p3rl.org/File::Temp). – choroba