Okay, it's not pretty but nice, and it works
It could be smaller and faster, but I wanted it like this, okay?
#!/usr/local/bin/perl -w
use strict;
use IO::Socket;
my $Usage="$0 -start [Start port] -end [End port] -address [IP address
+]";
die "Usage: $Usage \n" if ((@ARGV==0)||((scalar @ARGV)%2!=0));
my %CommandLine=@ARGV;
my $Start=$CommandLine{-start} || 1;
my $End=$CommandLine{-end} || 1024;
my $Address=$CommandLine{-address} || "127.0.0.1";
print "Scanning $Address: ports $Start\-$End\n";
local $^W=0;
for (my $Port=$Start;$Port<=$End;$Port++)
{
print "Port $Port is open\n" if IO::Socket::INET->new("$Address:$Port
+");
};
$^W++;
Errorchecking is up to the user...;)