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

 

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

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

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

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

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

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

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



IO::Pager(3)                         User Contributed Perl Documentation                        IO::Pager(3)



NAME
       IO::Pager - Select a pager and pipe text to it if destination is a TTY

SYNOPSIS
         # Select an appropriate pager and set the PAGER environment variable
         use IO::Pager;

         # Optionally, pipe output to it
         {
           # TIMTOWTDI, not an exhaustive list but you can infer the others
           my $token =     IO::Pager::open *STDOUT; # Unbuffered is  default subclass
           my $token = new IO::Pager       *STDOUT,  'Unbuffered'; # Specify subclass
           my $token =     IO::Pager::Unbuffered::open *STDOUT;    # Must 'use' class!
           my $token = new IO::Pager::Unbuffered       *STDOUT;    # Must 'use' class!


           print <<"  HEREDOC" ;
           ...
           A bunch of text later
           HEREDOC

           # $token passes out of scope and filehandle is automagically closed
         }

         {
           # You can also use scalar filehandles...
           my $token = IO::Pager::open($FH) or warn($!);
           print $FH "No globs or barewords for us thanks!\n";
         }

         {
           # ...or an object interface
           my $token = new IO::Pager::Buffered;

           $token->print("OO shiny...\n");
         }

DESCRIPTION
       IO::Pager can be used to locate an available pager and set the PAGER environment variable (see
       "NOTES"). It is also a factory for creating I/O objects such as IO::Pager::Buffered and
       IO::Pager::Unbuffered.

       IO::Pager subclasses are designed to programmatically decide whether or not to pipe a filehandle's
       output to a program specified in PAGER.  Subclasses may implement only the IO handle methods desired
       and inherit the remainder of those outlined below from IO::Pager. For anything else, YMMV. See the
       appropriate subclass for implementation specific details.

METHODS
   new( [FILEHANDLE], [SUBCLASS] )
       Almost identical to open, except that you will get an IO::Handle back if there's no TTY to allow for
       IO::Pager agnostic programming.

   open( [FILEHANDLE], [SUBCLASS] )
       Instantiate a new IO::Pager, which will paginate output sent to FILEHANDLE if interacting with a TTY.

       Save the return value to check for errors, use as an object, or for implict close of OO handles when
       the variable passes out of scope.

       FILEHANDLE
           You may provide a glob or scalar.

           Defaults to currently select()-ed FILEHANDLE.

       SUBCLASS
           Specifies which variety of IO::Pager to create.  This accepts fully qualified packages
           IO::Pager::Buffered, or simply the third portion of the package name Buffered for brevity.

           Defaults to IO::Pager::Unbuffered.

           Returns false and sets $! on failure, same as perl's "open".

   PID
       Call this method on the token returned by "open" to get the process identifier for the child process
       i.e; pager; if you need to perform some long term process management e.g; perl's "waitpid"

       You can also access the PID by numifying the instantiation token like so:

         my $child = $token+0;

   close( FILEHANDLE )
       Explicitly close the filehandle, this stops any redirection of output on FILEHANDLE that may have
       been warranted.

       This does not default to the current filehandle.

       Alternatively, you may rely upon the implicit close of lexical handles as they pass out of scope e.g;

         {
            IO::Pager::open local *RIBBIT;
            print RIBBIT "No toad sexing allowed";
            ...
         }
         #The filehandle is closed to additional output

         {
            my $token = new IO::Pager::Buffered;
            $token->print("I like trains");
            ...
         }
         #The string "I like trains" is flushed to the pager, and the handle closed

   binmode( FILEHANDLE )
       Used to set the I/O layer a.k.a. discipline of a filehandle, such as ':utf8' for UTF-8 encoding.

   print ( FILEHANDLE LIST )
       print() to the filehandle.

   printf ( FILEHANDLE FORMAT, LIST )
       printf() to the filehandle.

   syswrite( FILEHANDLE, SCALAR, [LENGTH], [OFFSET] )
       syswrite() to the filehandle.

ENVIRONMENT
       PAGER
           The location of the default pager.

       PATH
           If the location in PAGER is not absolute, PATH may be searched.

           See "NOTES" for more information.

FILES
       IO::Pager may fall back to these binaries in order if PAGER is not executable.

       /etc/alternatives/pager
       /usr/local/bin/less
       /usr/bin/less
       /usr/bin/more

       See "NOTES" for more information.

NOTES
       The algorithm for determining which pager to use is as follows:

       1. Defer to PAGER
           If the PAGER environment variable is set, use the pager it identifies, unless this pager is not
           available.

       2. Usual suspects
           Try the standard, hardcoded paths in "FILES".

       3. File::Which
           If File::Which is available, use the first pager possible amongst "less", "most", "w3m", "lv",
           "pg" and more.

       4. more
           Set PAGER to "more", and cross our fingers.

       Steps 1, 3 and 4 rely upon the PATH environment variable.

SEE ALSO
       IO::Pager::Buffered, IO::Pager::Unbuffered, IO::Pager::Page,

       IO::Page, Meta::Tool::Less

AUTHOR
       Jerrad Pierce <jpierce@cpan.org>

       Florent Angly <florent.angly@gmail.com>

       This module was inspired by Monte Mitzelfelt's IO::Page 0.02

COPYRIGHT AND LICENSE
       Copyright (C) 2003-2012 Jerrad Pierce

          Thou shalt not claim ownership of unmodified materials.

          Thou shalt not claim whole ownership of modified materials.

          Thou shalt grant the indemnity of the provider of materials.

          Thou shalt use and dispense freely without other restrictions.

       Or, if you prefer:

       This library is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself, either Perl version 5.0 or, at your option, any later version of Perl 5 you may have
       available.



perl v5.16.2                                     2012-09-04                                     IO::Pager(3)

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

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

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