Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Über Perl einen Ping-Befehl ausführen





Frage

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: #!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 # 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!!

Antwort 1 von Dr.Ma-Busen

Moin!


Entweder mit z.B. qx ein anderes Programm/Script aufrufen.
http://de.selfhtml.org/perl/funktionen/systemaufrufe.htm#qx

Du kannst externe Programme/Scripte aber auch noch mit exec, system und open aufrufen.

Oder was evt. noch besser ist du nutzt da Modul ping
http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/lib/Net/Ping.html

MfG

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: