use warnings; use LWP::UserAgent; use HTTP::Cookies; use threads; use threads::shared; my $i : shared = 500000; $threads = 9; $ua = LWP::UserAgent->new; $cookie_jar = HTTP::Cookies->new( file => 'cookies.dat', autosave => 1, ); $ua->cookie_jar($cookie_jar); print "Started"; $ua->post('http://torrents.ru/forum/login.php', {'login_username' => 'test', 'login_password' => 123456, login => 'Вход'})->as_string; for(0..$threads) {$trl[$_] = threads->create(\&Brut, $_);} for(@trl) { $_->join; } sub Brut { my $fid = $_; while($i) { my $url = ''; { lock($i);$i--; print "$i\n"; $url = "http://torrents.ru/forum/profile.php?mode=viewprofile&u=$i" } $res = $ua->get($url)->as_string; if ($res =~ /Профиль пользователя: (.*?)<\/h1>/) { open(FILE, ">>$fid.log.txt") || die("Could not open $fid.log.txt\n"); print FILE $1."\n"; close(FILE); } } }