powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl: Использование массивов-констант
2 сообщений из 2, страница 1 из 1
Perl: Использование массивов-констант
    #39824676
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В модуле у меня определен небольшой массив:
Код: plaintext
use constant IVI_API_HEADERS => [...];
Далее в коде модуля мне нужно с этим массивом сделать определенные вещи:
Код: plaintext
$req->header($_) foreach (@{IVI_API_HEADERS});
Но в таком виде ругается на необъявленную переменную.
Вместо этого срабатывает такая "магия":
Код: plaintext
$req->header($_) foreach (@{+IVI_API_HEADERS});
Работать то оно работает, но хотелось бы понимать, что означает символ "+".
Тут поясняется что Use ... to prevent the bareword quoting mechanism from kicking in. , но смысл фразы от меня ускользает.
Это специальный синтаксис для использования констант?
Или это способ обмануть парсер, не меняя поведения кода?
...
Рейтинг: 0 / 0
Perl: Использование массивов-констант
    #39828195
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конструкция use constant реализована через inline sub,
соответственно нужны способы для различения вызова подпрограммы от использования простого текстового литерала в неявных случаях.
Таковыми способами являются: '+' перед именем; '()' после имени
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl: Использование массивов-констант
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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