многопоточность в перле реализуется просто:
#!/usr/bin/perl -w
use threads;
my @threads = undef;
for my $i (1..3) {
push @threads, threads->create(\&get_now, $i);
}
my $thread = undef;
foreach $thread (@threads) {
$thread->join();
}
sub get_now
{
my $num = shift;
print "thread ", $num, " => ", time(), "\n";
sleep 1;
return; # <- это строго обязательно если хотим дождаться завершения нити
}
Однако не стоит забывать, что в каждую нить копируется всё содержимое породившего её, пардон за тафталогию, родителя, это к вопросу о потреблении памяти в перле, к этой тематике я ещё как-нибудь вернусь...