Perl direct SOCKS server's list checker

Author : b1ma
Location : Kediri, Indonesia
Website : iko94.blogspot.com

[+] You can check your network use this tool to make sure
that they do not open SOCKS proxy (in the wild net)
[+] You can obtain any SOCKS proxy list at the google result -> Google

Code:
#!/usr/bin/perl
# socks_checker_list-002.pl - Perl direct SOCKS server's list checker
# (c) feb 2007 @ b1ma a.k.a bima_
# for educational purposes only
# GPL v.2
#########################################


use strict;
use IO::Socket::Socks;

my $pret;
my $elemen;
my @prox;
my $socks;

open(UF, "<ceksocks.txt") || die "\nI can't open the list\n";
my @prox=<UF>;
close(UF);

foreach $elemen(@prox){
chomp($elemen);
$pret=$elemen=~/(.+):(.+)/;
if ($pret) {
#print "trying ip $1 port $2 ::: \t";


$socks = new IO::Socket::Socks( ProxyAddr=> "$1",
ProxyPort=> "$2",
ConnectAddr=> "irc.centrin.net.id",
ConnectPort=> "6667" ) ;

if (!defined $socks) {
printlog("[*] $1:$2\tFailure\n");
#next;
} else {
print $socks 'testing\n';
$socks->close();
printlog("[+] Sukses\t\t$1:$2\n");
}
} #of if

sleep 1;

} #of foreach


sub printlog {
print @_[0];
open(LO,">>socks_log2.txt");
print LO @_[0];
close(LO);
return;
}
#[EOF]
=====cut here=====

Remember that you must have a list called ceksocks.txt that contains
SOCKS proxy list in format :
IP:PORT or HOSTNAME:PORT
example :
192.168.0.45:1080
or
socks.exampleproxy.com:1080


=====example=====
E:\data\proxy>socks_checker_list-002.pl[*] 220.112.168.67:1080 Failure[*] 218.68.216.123:1080 Failure[*] 202.127.18.221:1080 Failure[*] 200.68.150.54:1080 Failure[*] 200.74.130.118:1080 Failure[*] 201.245.162.38:1080 Failure[*] 200.58.204.156:1080 Failure[*] 200.58.224.28:1080 Failure[*] 200.93.132.154:1080 Failure[*] 196.40.43.218:554 Failure[*] 200.55.134.195:1080 Failure[*] 195.70.145.117:1080 Failure[*] 194.108.35.202:1080 Failure[*] 84.244.91.183:1080 Failure[*] 85.70.72.53:1080 Failure[*] 85.70.72.53:1080 Failure[*] 82.99.148.16:1080 Failure[*] 83.93.135.61:1080 Failure[*] 83.93.135.61:1080 Failure[*] 194.79.97.50:1080 Failure[*] 193.227.47.198:1080 Failure[*] 81.80.193.109:1080 Failure[*] 81.80.193.109:1080 Failure[*] 82.225.109.38:18844 Failure[*] 194.51.119.108:1080 Failure
[+] Sukses XXX.145.174.1:1080[*] 195.143.226.168:1080 Failure[*] 88.134.242.245:1080 Failure[*] 193.92.187.43:1080 Failure[*] 203.198.162.124:1080 Failure[*] 196.12.47.166:1080 Failure[*] 210.212.85.146:1080 Failure[*] 61.17.92.22:1080 Failure
[+] Sukses XXX.3.211.13:1080

E:\data\proxy>
=====example=====