Use only…

Столько лет программирую на Perl и всё время узнаю что-то новое. Главным образом потому, что недосуг внимательно прочитать полную документацию. Сегодня с удивлением узнал о существовании конструкции «use only» [ >>> ]

Комментарии 4

Baka № 1
недосуг внимательно прочитать полную документацию

… на все модули на CPAN'е, да? :-)
Давно ли эта конструкция появилась (если до Perl 5.6.1 она не работает)?

Евгений Степанищев автор № 2
какие такие все модули? это конструкция. А если ещё и сходить по ссылке, то можно, думаю, без труда узнать где работает эта конструкция.
Baka № 3
Возможно, я неясно выражаюсь или плохо понимаю. :-)
Конструкция
use only MyModule => 0.30;
— это вызов модуля only.pm с параметрами MyModule и 0.30 .
Про то, что эта конструкция не работает до Perl 5.6.1, я узнал именно сходив по ссылке.
Ещё раз убедился в этом, когда установил его:
ppm
install only
quit
perldoc only
…
BUGS AND CAVEATS

— This module only works with Perl 5.6.1 and higher. That's because
earlier versions of Perl don't support putting objects in @INC.

«only.pm» — это модуль. Так же, как «strict.pm», «integer.pm» и другие.
Я знаю, что модули без больших букв в названии принято называть прагмами,
но от этого они не перестают быть модулями.
Возможно, в будущем only будет входить в стандартную поставку Perl'а.
И это будет хорошо, потому что модуль полезный.
Евгений Степанищев автор № 4
Я-то думал «only» это именно конструкция. Хм… Был не прав. Что до будущего, уже давно сушествует Perl 5.8 :)