| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Вопрос по Hash::Util |
| Автор: ginnie 16.10.2008, 13:13 | ||||||
| Уважаемые коллеги! Сегодня смотрел код в модуле http://search.cpan.org/src/TTY/kurila-1.14_0/ext/Hash-Util/lib/Hash/Util.pm и натолкнулся на непонятные конструкции, типа
Кто-нибудь знает, что это (я имею ввиду символ <)? |
| Автор: amg 16.10.2008, 14:38 |
| Есть предположение, что это фишка Perl 5.10, причем, похоже, недокументированная (в perlop). По крайней мере, в аналогичном модуле последнего Perl 5.8 ничего такого нет. |
| Автор: arto 16.10.2008, 15:46 |
| а perldoc -m что говорит? |
| Автор: KSURi 16.10.2008, 15:55 | ||
Оттуда же. Получается XS вызов из PP сорца. Прикольно. |
| Автор: ginnie 16.10.2008, 15:57 |
| arto, у меня perl 5.8.8, поэтому модуль Hash::Util v0.05 (там все нормально). Последняя версия модуля 0.07 (именно в ней непонятные символы), но она для perl 5.10. |
| Автор: KSURi 16.10.2008, 15:59 | ||
Кстати непонятно почему в начале модуля нет вызова
если это фишки 5.10 версии |
| Автор: arto 16.10.2008, 16:01 |
| # 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 16.10.2008, 16:02 |
| KSURi, где Вы увидели "XS вызов"? Там вызов метода SvREADONLY из модуля Internals (кто-же виноват, что в модуле он транслируется в вызов XSUB Добавлено @ 16:03 arto, т.е. опечатка на CPAN? Какая у Вас версия модуля? |
| Автор: arto 16.10.2008, 16:07 |
| да # perl -MHash::Util -le 'print $Hash::Util::VERSION' 0.07 |
| Автор: ginnie 16.10.2008, 16:45 | ||||
| KSURi, честно говоря я, когда увидел эту функцию в других модулях, подумал, что это из модуля http://search.cpan.org/author/STBEY/Internals-1.1/Internals.pm, но http://www.ddj.com/architect/184416222, что это не так. Более подробной информации пока не нашел. P.S. Кое-что нашел (файл universal.c):
|
| Автор: KSURi 16.10.2008, 20:05 |
| А вот это уже интересно. Спасибо за информацию. Добавлено через 2 минуты Если бы это был модуль с CPAN'a, то для него надо было делать use, которого там не было. |