Hi,
Ein Beispielübergabeparameter ist "Sachsen/B".
Hier der Auszug aus dem Perl-Script:if($ENV{'REQUEST_METHOD'} eq 'GET') { $daten = $ENV{'QUERY_STRING'}; }
else { read(STDIN, $daten, $ENV{'CONTENT_LENGTH'}); }
Das reicht nicht! Sonderzeichen werden bei der Uebertragungs uebers Web codiert!
Du musst noch folgendes machen (ich gehe dabei davon aus, das du nur diesen einen
Datensatz uebertraegst und nicht noch wietere Parameter!):
$daten =~ tr/+/ /;
$daten =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$div=index($daten,"/");
$bundesland=substr($daten,0,$div);
$buchstabe=substr($daten,$div+1);
Etwas umstaendlich. Besser so:
($bundesland, $buchstabe) = split(///,$daten,2);
Und schoen waere auch, wenn du die Laenge von
beiden Variablen begrenzen wuerdest.
Sonst sickt dir mal jemand ein paar MB an das Skript und
freut sich, das auf einmal deine Webseite ablagt.
...
@buchstaben=("A".."Z");
for($i=0;$i<26;$i++)
Besser:
for ($i=0; $i<=$#buchstaben; $i++) {
{if($buchtabe eq $buchstaben[$i]) {
»» Diese Stelle wird nie erreicht.
»» } else {}
}
Noch besser waere es aber, du arbeitest mit Hashes oder regulaeren Ausdruecken,
dann brauchst du diese Schleife garnicht erst.
Wenn du z.B. einfach nur bei A-C die Subroutine abc aufrufen willst, dann z.B. so:
if ($buchstabe =~ /[a-c]/i) { &abc; }
Ciao,
Wolfgang