Hallihallo,
ich habe ein Problem mit dem Konditionaloperator.
In einem Formular wird eine E-Mail-Adresse eingetragen. Nun will ich einen simplen Check machen, ob die Adresse gültig ist oder nicht.
Falls sie es ist, speichere ich sie in %update_data, um sie später in die DB zu schreiben.
Ist sie nicht korrekt, wird sie nicht in die DB geschrieben und stattdessen eine CSS-Klasse gesetzt, um das entsprechende input-Feld hervorzuheben.
Die Funktion ist eigentlich egal, ich habe folgendes Code-Stück:
(param('email') =~ m/^\w+@\w+\.\w+$/)
? $update_data{'email'} = quote(param('email'))
: $class{'email'} = 'invalid_value';
Das komische ist, dass $update_data{'email'} den Wert 'invalid_value' bekommt, wenn die Adresse gültig ist (also der Regex matcht).
Woran liegt das? Ich kann es mir einfach nicht erklären.
Grüße
Chris