Thread Zwei Dateien auslesen
(8 answers)
Opened by azib at 2015-10-29 16:17
Hallo,
(wieder einmal) ganz blöd gefragt: Ich habe zwei Dateien, die ich jeweils in ein array auslese und dann einzelne Felder in jeweils eine neue Datei schreibe. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 $count=0; my $file1="38579.txt"; my @a; my @neu1; my $in; my $datei; open ($in, "<", $file1) or die "Datei $file1 existiert nicht\n"; while (<$in>){ chomp ($_); @a=split (/\t/, $_); push (@neu1, "$a[1]\t$a[12]\n"); } close ($in); while ($count <=$#neu1){ $count++; } $count--; open ($datei, ">", "38579neu.txt"); print $datei "no. entries: $count\n\n"; foreach (@neu1){ print $datei $_; } close ($datei); $count=0; my $file2="38943.txt"; my @b; my @neu2; my $in2; my $datei2; open ($in2, "<", $file2) or die "Datei $file1 existiert nicht\n"; while (<$in2>){ chomp ($_); @b=split (/\t/, $_); push (@neu2, "$a[1]\t$a[12]\n"); } close ($in2); while ($count <=$#neu2){ $count++; } $count--; open ($datei2, ">", "38943neu.txt"); print $datei2 "no. entries: $count\n\n"; foreach (@neu2){ print $datei2 $_; } close ($datei2); Ich weiß, das ganze ist recht umständlich, aber ich bin Anfänger in Sachen PERL. Die erste Datei (38943.txt) wird so erzeugt, wie ich mir das vorstelle - kein Problem. Die zweite Datei wird ebenfalls erzeugt und enthält auch die korrekte Angabe "no. entries" (wird ja aus dem array @neu2 bezogen; die nachfolgende Liste enthält aber 3x den letzten Eintrag der ersten Datei. Was ist denn hier passiert? modedit Editiert von GwenDragon: Code formatiert Last edited: 2015-10-29 17:13:39 +0100 (CET) |