#!/usr/bin/perl use strict; use warnings; my %index; my $file_ref='/was/weis/ich.txt'; my $file_data='/keine/Ahnung/wo.txt'; my $file_out='/irgend/wo/hin.txt'; open(my $fh, '<', $file_ref) or die("Can't open $file_ref ($!)\n"); while(my $line=<$fh>) { chomp($line); # weiteres Aufbreiten der Zeile... # du weißt was noch gemacht werden sollte... $index{$line}=1; } close($fh); open(my $fho, '>', $file_out) or die("Can't open $file_out ($!)\n"); open(my $fhi, '<', $file_data) or die("Can't open $file_data ($!)\n"); while(my $line=<$fhi>) { chomp($line); # weiteres Aufbreiten der Zeile... # du weißt was noch gemacht werden sollte... if(exists($index{$line}) and $index{$line}) { print $fho "$line\n"; # wenn eine Zeile nicht doppelt gefunden werden darf: #delete($index{$line}); } } close($fhi); close($fho);