my $file_one = 'Datei1.txt'; my $file_two = 'Datei2.txt'; open my $fh, '<', $file_one or die $!; tie my @lines, 'Tie::File', $file_two or die $!; while( my $line = <$fh> ){    chomp $line;    my @verbs = $line =~ /\b([a-z.\/-]+)\b([a-z]*?[t])\b/g;    my @words = $line =~ /\b([A-Z].*?)\b/g;    for my $verb (@verbs){        if ( checkverb( $verb, @lines ) ){            for my $word ( @words ){                unless( check( $word, @lines ) ){                    push @lines, $line;                }            }        }        else{            push @lines, $line;        }    } } untie @lines; close $fh; sub checkverb{ my ($value) = shift;    for my $line ( @_){         return 1 if $line =~ /\Q$value\E/;    }    return; } sub check{    my ($value) = shift;    for my $line ( @_){         return 1 if $line =~ /\Q$value\E/;    }    return; }