use strict; use CGI; ... # Fehlertext leer setzen my $Fehlertext = ''; # neues (spaeteres) Passwort einlesen my $Neupw1 = $cgi->param($Feldnamen[2]); ... # nimm aus $Neupw1 beginnend bei Position 0 die ersten 8 Zeichen als $Neupw1kurz my $Neupw1kurz = substr($Neupw1,0,8); # $SortedNeupw1kurz ergibt sich aus dem umsortierten $Neupw1kurz (gleiche Buchstaben stehen hintereinander) my $SortedNeupw1kurz = join('',sort(split(//,$Neupw1kurz))); # jetzt der eigentliche Test if(( $Neupw1kurz !~ /^(?=.*[a-zA-Z].*[a-zA-Z].*[a-zA-Z].*[a-zA-Z])(?=.*[^a-zA-Z])\S{7,8}$/) || $SortedNeupw1kurz =~ /(.)\1{3,}/) { $Fehlertext .= 'Das neue Passwort entspricht nicht den Sicherheitsrichtlinien!'; } ...