powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl - Использование анонимных процедур, как правильно?
8 сообщений из 8, страница 1 из 1
Perl - Использование анонимных процедур, как правильно?
    #37716383
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой код:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$infoproc{'serial'} = sub
{
    my $data = shift;
    $data =~ m/Device serial number (\d+)/g;
    return $1;
};
...
my $proc = $infoproc{'serial'};
$fld1 = &$proc($fld1);



Анонимная процедура вызывается, но без аргументов (т.е. $data = undef).
Как нужно это сделать правильно?
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Perl - Использование анонимных процедур, как правильно?
    #37716429
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще вопрос.
При указании такой анонимной процедуры я получаю предупреждение:
Variable "$_" is not available at C:\SMS\sw\scan.pl line 81.
Строка 81 — это последняя фигурная скобка, закрывающая анонимную процедуру (строка "};").
Отчего она может возникать?
За пределами этой анонимной процедуры у меня используются map и foreach (с использованием $_).
...
Рейтинг: 0 / 0
Perl - Использование анонимных процедур, как правильно?
    #37716437
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предупреждение похоже на этот баг:
http://www.nntp.perl.org/group/perl.perl5.porters/2011/07/msg174609.html
У меня тоже анонимная процедура задана внутри секции given, у меня тоже ActivePerl 5.14.
...
Рейтинг: 0 / 0
Perl - Использование анонимных процедур, как правильно?
    #37717058
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B., ты разве не заметил что ActiveState предлагает два дистрибутива? и 5.12.4.1205 там есть.
было б куда спешить. Пока ты спешишь, они на тебе зарабатывают как на бета-тестере.
...
Рейтинг: 0 / 0
Perl - Использование анонимных процедур, как правильно?
    #37722244
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

use strict; для начала.

$fld1 = $proc->($fld1); попробуйте что-ли.
...
Рейтинг: 0 / 0
Perl - Использование анонимных процедур, как правильно?
    #37722514
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstoneuse strict; для начала.
Это есть.

Warstone$fld1 = $proc->($fld1); попробуйте что-ли.
А что это мне даст?
Процедура у меня вызывается.
Просто у нее почему-то пустой аргумент, хотя в fld1 есть значение.
...
Рейтинг: 0 / 0
Perl - Использование анонимных процедур, как правильно?
    #37722931
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneAlibek B.,

use strict; для начала.

$fld1 = $proc->($fld1); попробуйте что-ли.
да ничего это не даст. баг есть баг.
...
Рейтинг: 0 / 0
Perl - Использование анонимных процедур, как правильно?
    #37724163
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindWarstoneAlibek B.,

use strict; для начала.

$fld1 = $proc->($fld1); попробуйте что-ли.
да ничего это не даст. баг есть баг.Ну... АктивСтейтный Перл я, конечно, не пользую, просто может быть что немного другой вызов задействует немного другой код и он не будет содержать этой ошибки.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl - Использование анонимных процедур, как правильно?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]