use warnings; use strict; my $file1; my $file2; my $in1; my $in2; my $datei1; my $datei2; my @out1; my @out2; print 'Enter ID Sample 1: '; $file1 = ; chomp($file1); print 'Enter ID Sample 2: '; $file2 = ; chomp($file2); for ($file1){ open ($in1, "<", $file1) or die "Datei $file1 konnte konnte wnicht gefunden werde!"; while (<$in1>) { chomp($_); my @a = split(/\t/, $_); push (@out1, "$a[1]\t$a[12]\n"); } close ($in1); open($datei1, ">", "out1.txt"); foreach (@out1) { print $datei1 $_; } close($datei1); } for ($file2){ open ($in2, "<", $file2) or die "Datei $file2 konnte konnte wnicht gefunden werde!"; while (<$in2>) { chomp($_); my @b = split(/\t/, $_); push (@out2, "$a[1]\t$a[12]\n"); } close ($in2); open ($datei2, ">", "out2.txt"); foreach (@out2) { print $datei2 $_; } close($datei1); } Die erste Datei Out1.txt enthält genau das, was ich haben will, die zweite Datei Out2.txt enthält aber leider nur den letzten Eintrag der ersten Datei (x-mal). Woran liegt das denn? Wo liegt der Fehler?