use Mosche;
unless (grep(/$Liste[0]/, @pop_array)) {
Wenn in Array @pop_array ein Eintrag names "test10" vorhanden ist und in Liste "test1", dann behauptet das Programm, dass test1 vorhanden wäre, da der Teilstring ja existiert. Ne Idee wie ich das lösen könnte????
Ich verstehe nicht, warum du überhaupt eine Regex benutzt.
Außerdem ist dein Code, wie er dasteht, wahrscheinlich nicht das, was du haben willst:
for my $k (@Liste) {
unless (grep { $_ eq $k } @pop_array){
print "$_ nicht vorhanden\n";
}
}
Folgendes habe ich verändert:
-
Bei grep wird jetzt mit dem aktuellen Element der Liste @Liste verglichen. Du hast immer mit dem ersten verglichen.
-
Ich verwende hier 'eq' statt einer Regex, das verhindert das Verhalten, welches du beschreibst. Außerdem ist es deutlich schneller als der Code von alguien.
use Tschoe qw(Matti);
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.