Jörk: Reguläre Ausdrücke - Ich bin am verzweifeln

Beitrag lesen

hi,

ich muss testen ob ein string übereinstimmt oder nicht.
es kommt aber immer voll der sch*** raus.
ich habe jetzt zwar den fehler schon gefunden, aber weiss nicht wie ich ihn beheben kann.

probiert mal das script unten aus.

in der ersten if-bedingung stimmt der ausdruck mit dem zu vergleichen nicht überein, der rückgabewert ist "OK".

in der zweiten if-bedingung stimmt der ausdruck mit dem zu vergleichen auch nicht überein, der rückgabewert ist aber "NICHT OK".

ich weiss auch wo der fehler ist:
es werden immer alle buchstaben einzeln verglichen, da in der ersten if-bedigung alle buchstaben im suchwort und mit dem zuvergleichendem wort übereinstimmt ist der rückgabewert OK.

das problem liegt also an den eckien klammern "[ ]".
aber die kann ich nicht weglassen, weil das ^ sonst eine andere bedeutung hat.

ich hoffe ihr versteht was ich meine.

wäre sehr, sehr dankbar für hilfreiche Antworten

###############################################

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";

if("DJ_Equipment:Nadeln & Systeme:Stanton" !~ /[^DJ_Equipment:Nadeln & Systeme:Sonstige]/) {
print "OK<br>";
} else {
print "Nicht OK<br>";
}

if("DJ_Equipment:Nadeln & Systeme:Pickering" !~ /[^DJ_Equipment:Nadeln & Systeme:Sonstige]/) {
print "OK<br>";
} else {
print "Nicht OK<br>";
}