|< 1 2 >| | 11 Einträge, 2 Seiten |
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";
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
sub _is_valid_string { my $string = shift; my $valid = 'a-zA-Z0-9!"$%.'; # laenge kontrollieren return 0 if length $string < 7; return 0 if length $string > 16; # auf ungueltige Zeichen kontrollieren return 0 if $string =~ m/[^$valid]/; # auf mindestens einen Buchstaben kontrollieren return 0 if $string !~ m/[a-zA-Z]/; # auf mindestens eine Zahl kontrollieren return 0 if $string !~ m/\d/; # bisher kein Fehler? dann sollte $string ok sein return 1; } # Woerter ueberpruefen for my $word ( qw( abc123ABC %%%%%aa ) ) { if ( _is_valid_string( $word ) ) { print "$word is OK\n"; } else { print "$word is not OK\n"; } }
Gast+2008-07-26 13:26:39--@string1[$i] =~ [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
LanX-+2008-07-26 13:48:55--Gast+2008-07-26 13:26:39--@string1[$i] =~ [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
ohne in der Doku nachzuschlagen, denke ich hier fehlt mindestens ein m wenn nicht sogar ein m// ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
my $eingabe = open(FILE,"input.txt");
if(not defined($eingabe)) {
die "Fehler beim ¨ Offnen der Datei: $!\n";
}
my $ausgabe = open(FILE_OUT,">> output.txt");
if(not defined($ausgabe)) {
die "Fehler beim ¨ Schreiben der Datei: $!\n";
}
while(defined(my $line = <FILE>)) {
@start = split(/:/, $line);
$word = @start[1];
if ( _is_valid_string( $word ) ) {
print FILE_OUT "$word is OK\n";
}
else {
print "$word is not OK\n";
}
}
print "\n\n";
close(FILE);
close(FILE_OUT);
system("pause");
sub _is_valid_string {
my $string = shift;
my $valid = 'a-zA-Z0-9!"$%.';
return 0 if length $string < 7;
return 0 if length $string > 16;
return 0 if $string =~ m/[^$valid]/;
return 0 if $string !~ m/[a-zA-Z]/;
return 0 if $string !~ m/\d/;
return 1;
}
GwenDragon+2008-07-26 14:43:09--Wer als AnfängerIn nicht am Anfang des Codes folgendes einfügt:
use strict;
use warnings;
use diagnotics; # erweiterte Ausgabe von Warnungen
erzeugt meist lauffähigen, aber oft schlampigen Code.
|< 1 2 >| | 11 Einträge, 2 Seiten |