my @rules = ( # presuming ASCII machine # this will likely break on an EBCDIC machine [ qr/\x00-\x1f/,'Keine Steuerzeichen erlaubt' ], [ qr/\d/,'Keine Zahlen erlaubt' ], [ qr/!-@/,'Keine Sonderzeichen erlaubt' ], [ qr/\[-`~/,'Keine Sonderzeichen erlaubt' ], # ... ); for (@rules) { my ($rule,$message) = @$_; if ($nachname =~ /$rule/) { die $message; }; };