Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



Sub::Install(3)                      User Contributed Perl Documentation                     Sub::Install(3)



NAME
       Sub::Install - install subroutines into packages easily

VERSION
       version 0.926

SYNOPSIS
         use Sub::Install;

         Sub::Install::install_sub({
           code => sub { ... },
           into => $package,
           as   => $subname
         });

DESCRIPTION
       This module makes it easy to install subroutines into packages without the unslightly mess of "no
       strict" or typeglobs lying about where just anyone can see them.

FUNCTIONS
   install_sub
         Sub::Install::install_sub({
          code => \&subroutine,
          into => "Finance::Shady",
          as   => 'launder',
         });

       This routine installs a given code reference into a package as a normal subroutine.  The above is
       equivalent to:

         no strict 'refs';
         *{"Finance::Shady" . '::' . "launder"} = \&subroutine;

       If "into" is not given, the sub is installed into the calling package.

       If "code" is not a code reference, it is looked for as an existing sub in the package named in the
       "from" parameter.  If "from" is not given, it will look in the calling package.

       If "as" is not given, and if "code" is a name, "as" will default to "code".  If "as" is not given,
       but if "code" is a code ref, Sub::Install will try to find the name of the given code ref and use
       that as "as".

       That means that this code:

         Sub::Install::install_sub({
           code => 'twitch',
           from => 'Person::InPain',
           into => 'Person::Teenager',
           as   => 'dance',
         });

       is the same as:

         package Person::Teenager;

         Sub::Install::install_sub({
           code => Person::InPain->can('twitch'),
           as   => 'dance',
         });

   reinstall_sub
       This routine behaves exactly like "install_sub", but does not emit a warning if warnings are on and
       the destination is already defined.

   install_installers
       This routine is provided to allow Sub::Install compatibility with Sub::Installer.  It installs
       "install_sub" and "reinstall_sub" methods into the package named by its argument.

        Sub::Install::install_installers('Code::Builder'); # just for us, please
        Code::Builder->install_sub({ name => $code_ref });

        Sub::Install::install_installers('UNIVERSAL'); # feeling lucky, punk?
        Anything::At::All->install_sub({ name => $code_ref });

       The installed installers are similar, but not identical, to those provided by Sub::Installer.  They
       accept a single hash as an argument.  The key/value pairs are used as the "as" and "code" parameters
       to the "install_sub" routine detailed above.  The package name on which the method is called is used
       as the "into" parameter.

       Unlike Sub::Installer's "install_sub" will not eval strings into code, but will look for named code
       in the calling package.

EXPORTS
       Sub::Install exports "install_sub" and "reinstall_sub" only if they are requested.

   exporter
       Sub::Install has a never-exported subroutine called "exporter", which is used to implement its
       "import" routine.  It takes a hashref of named arguments, only one of which is currently recognize:
       "exports".  This must be an arrayref of subroutines to offer for export.

       This routine is mainly for Sub::Install's own consumption.  Instead, consider Sub::Exporter.

SEE ALSO
       Sub::Installer
           This module is (obviously) a reaction to Damian Conway's Sub::Installer, which does the same
           thing, but does it by getting its greasy fingers all over UNIVERSAL.  I was really happy about
           the idea of making the installation of coderefs less ugly, but I couldn't bring myself to replace
           the ugliness of typeglobs and loosened strictures with the ugliness of UNIVERSAL methods.

       Sub::Exporter
           This is a complete Exporter.pm replacement, built atop Sub::Install.

AUTHOR
       Ricardo Signes, "<rjbs@cpan.org>"

       Several of the tests are adapted from tests that shipped with Damian Conway's Sub-Installer
       distribution.

BUGS
       Please report any bugs or feature requests through the web interface at <http://rt.cpan.org>.  I will
       be notified, and then you'll automatically be notified of progress on your bug as I make changes.

COPYRIGHT
       Copyright 2005-2006 Ricardo Signes, All Rights Reserved.

       This program is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself.



perl v5.16.2                                     2012-02-26                                  Sub::Install(3)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации к проекту Perl. (См. perlbug (1) для инструкций представления.)
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API к Apple через Генератор отчетов Ошибки и к проекту Perl, использующему perlbug (1).
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.