Hallo....bin ziemlicher Neuling im Bereich Perl.
Hab mal versucht ein Script zu schreiben, dass mir eine in ein Formular eingegeben IP pingt. Hab ne html-Datei mit einem Formlar erstellt, dass meine eingaben entgegen nimmt.
Im <form action=""> hab ich das cgi-script angegeben.
Funktioniert alles soweit...
Kann im cgi-script testweise die eingegeben IP ausgeben.
Das Script sieht folgendermaßen aus:
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
#!c:\apachefriends\xampp\perl\bin\perl.exe -wT
print "Content-type: text/html\n\n";
print "<html><body>";
my %FORM;
&readForm;
print "Ihre IP: $FORM{ip}<p>"; # Ausgabe der IP-Adresse
print "</body></html>";
print `ping $FORM{'ip'}`; # Dieser Befehl funkt. so nicht
sub readForm &nbs
p; # Parameter in %FORM einlesen
{
my ($buffer,@pairs,@pair,$i);
if ($ENV{'REQUEST_METHOD'} eq "GET")
{ $buffer = $ENV{'QUERY_STRING'}; }
else
{ read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
@pairs = split(/&/, $buffer);
foreach (@pairs)
{
@pair = split(/=/, $_, 2);
for ($i=0;$i<2;$i++)
{
$pair[$i] =~ tr/+/ /;
$pair[$i] =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
}
$FORM{$pair[0]} = $pair[1];
}
}
Gibt es irgendeine besondere Syntax um Variablen in der Befehlszeile aufzurufen? Wenn ich eine feste IP angebe funktioniert das Script.
Danke euch im Voraus für eure Hilfe!!
edit renee: ne Runde [code]-Tags spendiert\n\n
<!--EDIT|renee|1124357071-->