Hallo ich brauche ein Programm das mir einen String überprüft, und zwar soll er zwischen 8-16 zeichen haben, nur A-Z, a-z, 0-9 und !"#$%. enthalten und muss mindestens 1 Buchstabe und 1 Zahl enthalten. Ich bin meinen Code mehrfach durchgegangen aber ich bekomm einfach keine ausgabe obwohl das eig passen müsste...??
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
my $string1 = abc123ABC;
if( length($string1) > 7 && length($string1) < 17) {
@string1 = split(//, $string1);
$counter_zahl = 0;
$counter_abc = 0;
for( my $i= 0; $i <= length($string1); $i++) {
if( @string1[$i] =~ [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] || @string1[$i] =~ /!/ || @string1[$i] =~ /\"/ ||
@string1[$i] =~ /#/ || @string1[$i] =~ /\$/ || @string1[$i] =~ /%/ || @string1[$i] =~ /./) {
if( @string1[$i] =~ [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] ) {
$counter_abc++;
}
if( @string1[$i] =~ [0-9] ) {
$counter_zahl++;
}
}
}
if( $counter_zahl > 0 && $counter_abc > 0 ) {
print "$string1";
}
}