![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| ginnie |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Уважаемые коллеги!
Сегодня смотрел код в модуле Hash::Util и натолкнулся на непонятные конструкции, типа
Кто-нибудь знает, что это (я имею ввиду символ <)? -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
||||||
|
|||||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Есть предположение, что это фишка Perl 5.10, причем, похоже, недокументированная (в perlop). По крайней мере, в аналогичном модуле последнего Perl 5.8 ничего такого нет.
|
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
а perldoc -m что говорит?
|
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Оттуда же. Получается XS вызов из PP сорца. Прикольно. -------------------- Died at Life.pl line 21 |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
arto, у меня perl 5.8.8, поэтому модуль Hash::Util v0.05 (там все нормально). Последняя версия модуля 0.07 (именно в ней непонятные символы), но она для perl 5.10.
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Кстати непонятно почему в начале модуля нет вызова
если это фишки 5.10 версии -------------------- Died at Life.pl line 21 |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
# perldoc -m Hash::Util | grep "use Scalar::Util"
use Scalar::Util qw(reftype); # perl -v This is perl, v5.10.0 built for i386-linux-thread-multi ... # ps. главное -- не умереть от опечатки в медицинском справочнике. |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
KSURi, где Вы увидели "XS вызов"? Там вызов метода SvREADONLY из модуля Internals (кто-же виноват, что в модуле он транслируется в вызов XSUB
Добавлено @ 16:03 arto, т.е. опечатка на CPAN? Какая у Вас версия модуля? Это сообщение отредактировал(а) ginnie - 16.10.2008, 16:05 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
да
# perl -MHash::Util -le 'print $Hash::Util::VERSION' 0.07 |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Я думаю смысл выражения был понятен, незачем к словам придираться. В модулях стандартной поставки perl 5.8 не было такой обертки для XS вызовов. -------------------- Died at Life.pl line 21 |
|||
|
||||
| ginnie |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
KSURi, честно говоря я, когда увидел эту функцию в других модулях, подумал, что это из модуля http://search.cpan.org/author/STBEY/Intern....1/Internals.pm, но оказалось, что это не так. Более подробной информации пока не нашел.
P.S. Кое-что нашел (файл universal.c):
Это сообщение отредактировал(а) ginnie - 16.10.2008, 17:43 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
||||
|
|||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
А вот это уже интересно. Спасибо за информацию.
Добавлено через 2 минуты Если бы это был модуль с CPAN'a, то для него надо было делать use, которого там не было. -------------------- Died at Life.pl line 21 |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |