Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Use only…

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

<blockquote>
недосуг внимательно прочитать полную документацию
</blockquote>
… на все модули на CPAN’е, да? :-)
Давно ли эта конструкция появилась (если до Perl 5.6.1 она не работает)?

Евгений Степанищев (bolknote.ru) 2003

Комментарий для Baka:

какие такие все модули? это <b>конструкция</b>. А если ещё и сходить по ссылке, то можно, думаю, без труда узнать где работает эта конструкция.

Baka 2003

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

BUGS AND CAVEATS
<ul><ul><li>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.
</ul></ul>
«only.pm» — это модуль. Так же, как «strict.pm», «integer.pm» и другие.
Я знаю, что модули без больших букв в названии принято называть прагмами,
но от этого они не перестают быть модулями.
Возможно, в будущем only будет входить в стандартную поставку Perl’а.
И это будет хорошо, потому что модуль полезный.

Евгений Степанищев (bolknote.ru) 2003

Комментарий для Baka:

Я-то думал «only» это именно конструкция. Хм… Был не прав. Что до будущего, уже давно сушествует Perl 5.8 :)