Подскажите по такой теме. Пишу многопоточный скрипт перл, но не получается. Смысл скрипта- процедура получает логины (по очереди из массива), и выводит id потока, какую-то цифру и логин. Code: #Perl use warnings; use strict; use threads; use threads::shared; my $tds = 3; my $id:shared = 9; my @tdsw; my @users = qw/user1 user2 user3/; my $i=0; for (0..$tds) { $tdsw[$_] = threads->create(\&doit,$users[$i]); $i++; } for (@tdsw) { $_ ->join; #waiting for threads end } print "\n work complete"; sub doit { my $login = shift; my $mytid = threads->self->tid(); while ($id>0) { { lock ($id); print "\n login - $login, id - $id , potok - $mytid"; $id--; } sleep 2; } return; } Почему-то в коде проскакивает ошибка Code: Use of uninitialized value $login in concatenation (.) or string at Что я делаю не так?
http://habrahabr.ru/blogs/perl/128477/ Мб поможет, я когда пытался ченить многопоточное запилить читал эту статью с доками по трдам на сипане не разобрался.