![]() |
|
Модераторы: ginnie, korob2001 |
![]()
|
|
| MrCleric |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.1.2008 Репутация: нет Всего: нет |
Господа форумчане, помогите решить такую задачку... есть скрипт
и соответственно sub.pl
суть проблемы в том, что результатом работы скрипта оказывается "1", а не "1var", как ожидается. В чем дело? Это я к вечеру туплю или что-то в перле поменялось? Я сейчас использую ActivePerl 5.8.6 . Конечная цель - увидеть глобальную переменную из функции, входящей в подключаемый файл и отправляемой в поток. |
||||
|
|||||
| KSURi |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 5 Всего: 27 |
t.pl:
sub.pl:
perldoc -f our -------------------- Died at Life.pl line 21 |
||||||
|
|||||||
| MrCleric |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.1.2008 Репутация: нет Всего: нет |
Ну допустим. А как насчет такого кода:
sub.pl
По сути одна и та же функция, работающая о основном потоке и потоке-потомке используют одну и ту же глобальную переменную. Вместо этого, похоже, функция, работающая в потоке создала для себя копию этой переменной и работает с ней. Ожидается результат работы кода: "1 2 3 4", а вмест этого я получаю "1 1 2 2". В чем проблема? |
||||
|
|||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: нет Всего: 31 |
в новых версиях perl ( > 5.6 ) даже глобальные переменные не разделяются между потоками.
читаем сюда http://perldoc.perl.org/threads.html а потом сюда http://perldoc.perl.org/threads/shared.html а потом переписываем скрипт примерно так
работает как 1 2 3 |
|||
|
||||
![]()
|
| Правила форума "Perl: Системное программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |