Hallo,
(param('email') =~ m/^\w+@\w+.\w+$/)
? $update_data{'email'} = quote(param('email'))
: $class{'email'} = 'invalid_value';
ich sehe Zuweisungen ohne Verwendung von Klammern.
Die Perldoc erzählt Dir im Abschnitt [Conditional Operator](http://perldoc.perl.org/perlop.html#Conditional-Operator-operator%2c-conditional-operator%2c-ternary-ternary-%3f%3a)
"Because this operator produces an assignable result, using assignments without parentheses will get you in trouble."
und erläutert dies an einem einfach zu verstehenden Beispiel.
> 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.
Ich folgere daraus, dass Du das Handbuch nicht gelesen hast.
Freundliche Grüße
Vinzenz