[Moscow.pm] 2 вопроса (было: POE issue)

Denis Evdokimov evdokimov.denis на gmail.com
Пн Янв 28 01:52:30 PST 2008


> В принципе ходят слухи, что многотредность работает, но я в это не верю.

Вот тут как раз этот вопрос обсуждали
http://community.livejournal.com/ru_perl/227376.html

и вот от туда работающий (хотя некоторые моменты я бы исправил) пример:
#!/usr/bin/perl -w
use strict;
use LWP::Simple;
use threads;
use threads::shared;

my $N : shared;
my @urls = (
        'http://mail.ru',
        'http://nigma.ru',
        'http://google.com',
        'http://yandex.ru',
        'http://ya.ru',
        'http://cpan.org',
        'http://linux.org.ru',
        'http://bash.org.ru',
        'http://www.kernel.org',
        'http://www.ibm.com',
        'http://msdn2.microsoft.com/ru-ru/default.aspx',
        'http://www.livejournal.com',
        'http://lenta.ru',
        'http://hosting.rbc.ru',
        'http://www.rbc.ru'
        );

sub get_url {
        $N++;
        my $url = shift;
        if (get $url) { print ("$url has been received.\n"); }
        $N--;
}

$N = 0;
foreach my $url (@urls) {
        while ($N>10) {}
        threads->create("get_url", $url);
}
while ($N>0) {}


Подробная информация о списке рассылки Moscow-pm