in reply to Perl parameters

Sorry, if I misunderstood the question. If you want to execute a perl script as CGI, you have to mention Happy-the-monks post. If you want to start a existing perl-script on your server, and you just want a simple frontend, you can do it using a CGI like this:
#!/usr/bin/perl use strict; use warnings; use CGI; use CGI::Carp qw ( fatalsToBrowser ); my $q = new CGI; my $host = $q->param('host') || ''; if ($host =~ m/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/) { my $result = qx ( ping $host ); print $q->header(), $q->start_html('ping IP'), $q->p($result), $q->end_html; } else { die "No IP, no ping!\n"; } exit();
Remember, to use -t for security reasons.

Some explanation:

  • it is a simple CGI, you can put it in your /usr/lib/cgi-bin or whereever the cgi-bin directory is on your system.
  • always validate users input using some regexes.
  • the above script dies unless the $host looks like an IP.
  • I use qx to call ping. pings output is assigned to $result. You can call your script this way, if you have the right to do so, else you should try using sudo on a Unix-like system.

    I've to thank Happy-the-monk for some advice.
    neniro