Christian Kruse: was ist richtig ne oder !~ und warum ?

Beitrag lesen

Hoi,

if ($ENV{'REMOTE_ADDR'} !~ /Hans/)

Das ist richtig.
heisst das also das !~ wenn er das wort hans nicht findet?

Wenn der String 'Hans' nicht in $ENV{REMOTE_ADDR} enthalten ist, ist der
Ausdruck wahr, ja.

und ne heisst also wenn das "ganze" nicht wahr ist?

'ne' kannst du in dem obigen Zusammenhang nicht anwenden. 'ne' erwartet einen
String, du gibst ihm den //-Operator (der eine Abkuerzung fuer m// ist).

und könnte man einen solchen vergleich auch machen wie dieser?

if ($ENV{'REMOTE_ADDR'} ne /Fritz/)&& ($ENV{'REMOTE_ADDR'} !~ /98/)

Wenn du die Klammersetzung richtig machst und statt des 'ne' (not equal)
ein '!~' schreibst, ja.
jau aber ich meine damit
(($ergebniss} ne /$ergebniss2/)&& ($ENV{'REMOTE_ADDR'} !~ /98/))
ob man "ne" und !~ verwenden darf.

Natuerlich darf man 'ne' und '!~' mit '&&' verknuepfen. Aber 'ne' erwartet
immer noch einen String und keinen Operator. So, wie das mit dem 'ne' da
oben steht, wuerde der Rueckgabewert von '$_ =~ /$ergebnis2/' mit '{$ergebnis}'
verglichen.

muss man das {'PATH'} erst in als scalar deklarieren?
z.B. so
$hans = 0;
$hans = 1 if({'PATH'});

Du meinst IMHO '${PATH}'. Das '$' davor ist wichtig. Das ist eine schlechte
Eigenschaft von Perl, die du nicht verwenden solltest. Benutze lieber einen
Hash.

Gruesse,
 CK