如何在Perl中使用线程?

Jes*_*son 2 perl multithreading

我想在Perl中使用线程来提高程序的速度...例如我想在这段代码中使用20个线程:

use IO::Socket;
my $in_file2 = 'rang.txt';
open DAT,$in_file2;
my @ip=<DAT>;
close DAT;
chomp(@ip);
foreach my $ip(@ip)
{
    $host = IO::Socket::INET->new(
        PeerAddr => $ip,
        PeerPort => 80,
        proto    => 'tcp',
        Timeout=> 1
    ) 
    and open(OUT, ">>port.txt");
    print OUT $ip."\n";
    close(OUT);
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我们给出了一个ips列表并扫描给定的端口.我想在这段代码中使用线程.有没有其他方法来提高我的代码速度?

谢谢.

Sin*_*nür 6

您可能希望查看AnyEvent :: Socket,或Coro :: Socket,或POEParallel :: ForkManager,而不是使用线程.