Script
Tom
- perl
Hallo,
könnte jemand schauen ob in diesem Perlscript ein Fehler vorliegt?!:
#!/usr/bin/perl
if($ENV{'REQUEST_METHOD'} eq 'GET')
{
$Daten = $ENV{'QUERY_STRING'}
}
else
{
read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
}
print "Content-type: text/html\n\n";
print "<html><head><title>Willkommen</title>\n";
@Formularfelder = split(/&/, $Daten);
foreach $Feld (@Formularfelder)
{
($name, $value) = split(/=/, $Feld);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
$Formular{$name} = $name;
$Formular{$value} = $value;
}
print "<script language='JavaScript'> Ziel ='";
print "$Formular{$name}";
print "'
</script>
<script language='JavaScript'>
location.href='http://'+Ziel
</script>
</head>
<body>
</body>
</html>\n";
Danke!
Gruß
Tom
Hallo Tom,
[... CGI-Daten auslesen ...]
Hier wuerde ich an deiner Stelle wirklich
CGI.pm verwenden.
print "<script language='JavaScript'> Ziel ='";
print "$Formular{$name}";
print "'
Der Fehler im *Script* liegt hier. Es
muesste
print "';
heissen.
location.href='http://'+Ziel
Der Fehler im *Gedankengang* liegt hier.
Fuer sowas gibt es HTTP-Header:
print <<HTTP;
Status: 302 Moved Temporarily
Location: http://$Formular{$name}
HTTP
Bzw. bei verwendung von CGI.pm:
use strict;
use CGI qw/redirect param/;
print redirect("http://".param("name"));
Gruesse,
CK
Hi,
wer schreibt hier untr meinem Namen? ;-)
Grüße
Tom (der echte)
Hallo ihr "Möchtegern-Toms"
da haben sich ja gleich zwei Plagiatoren eingefunden.
Der wahrhaftige Tom bin schliesslich ich.
Trotzdem Grüße
Tom
Dabei hab ich mir doch schon 1948 den wirklich originellen Nick Tom auf alle Ewigkeit per Urheberecht und Copyright schützen lassen...
Was sind das nur für Zustände hier...
Macht euch alle mal auf Klagen gefasst.
Trotzdem Grüße
der viel kopierte, selten erreichte, einzig wahre
Tom
Hello,
habe gerade voller Schrecken festgestellt, dass "Tom" seit 2000 eine eingetragene Marke der Telebum ist. Jetzt kann man noch nicht mal seinen eigenen Namen behalten...
Grüße
Tom
Rück den Namen raus...
Her damit zack zack und dalli.
Sonst kommt die Polente und holt den für uns.
Moin!
Hallo Tom!
Was hindert Dich daran, das Skript mit der Option -W
auszuführen und erstmal die Fehlermeldungen anzusehen, respektive diese, wenn Du mit denselben nicht klarkommst, zu mit zu posten?
Du kannst das Skript auch unter Windows (bei installiertem Perl) am Prompt auführen. Auch in der DOS-Box funktioniert das kopieren (und einfügen). Klick mal mit der rechten Maustaste auf das Symbol links in der Titelleiste. Unter Linux ist es noch einfacher: rechte Maustaste markiert, mittlere fügt ein.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®