La Documentación en Perl

Para obtener información sobre un tópico o un módulo Perl utilize perldoc . Si tiene instalado el módulo Tk::Pod entonces puede utilizar el visualizador gráfico tkpod . Otra posibilidad es arrancar el programa podwebserver disponible en la distribución del módulo Pod::Webserver. Este programa arranca un servidor HTTP que sirve la documentación de los módulos instalados en la máquina:

$ podwebserver &
[2] 4069
$ I am process 4069 = perl Pod::Webserver v3.05
 Indexing all of @INC -- this might take a minute.
@INC = [ /soft/perl5lib/share/perl/5.8.8/ /soft/perl5lib/lib/perl/5.8.8 /soft/perl5lib/lib/perl/5.8 /soft/perl5lib/share/perl/5.8/ /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . ]
 Done scanning @INC
You can now open your browser to http://localhost:8020/
La documentación puede ahora ser accedida usando nuestro navegador favorito:
$ firefox  http://localhost:8020/ &

La fuente de información sobre el lenguaje Perl mas fiable es la que se encuentra en la documentación .pod adjunta con su distribución. Veamos algunos de los parámetros que admite perldoc:

lhp@nereida:~$ perldoc -h
perldoc [options] PageName|ModuleName|ProgramName...
perldoc [options] -f BuiltinFunction
perldoc [options] -q FAQRegex

Options:
    -h   Display this help message
    -V   report version
    -r   Recursive search (slow)
    -i   Ignore case
    -t   Display pod using pod2text instead of pod2man and nroff
             (-t is the default on win32 unless -n is specified)
    -u   Display unformatted pod text
    -m   Display module's file in its entirety
    -n   Specify replacement for nroff
    -l   Display the module's file name
    -F   Arguments are file names, not modules
    -v   Verbosely describe what's going on
    -T   Send output to STDOUT without any pager
    -d output_filename_to_send_to
    -o output_format_name
    -M FormatterModuleNameToUse
    -w formatter_option:option_value
    -X   use index if present (looks for pod.idx at /usr/lib/perl/5.8)
    -q   Search the text of questions (not answers) in perlfaq[1-9]

PageName|ModuleName...
         is the name of a piece of documentation that you want to look at. You
         may either give a descriptive name of the page (as in the case of
         `perlfunc') the name of a module, either like `Term::Info' or like
         `Term/Info', or the name of a program, like `perldoc'.

BuiltinFunction
         is the name of a perl function.  Will extract documentation from
         `perlfunc'.

FAQRegex
         is a regex. Will search perlfaq[1-9] for and extract any
         questions that match.

Any switches in the PERLDOC environment variable will be used before the
command line arguments.  The optional pod index file contains a list of
filenames, one per line.
                                                       [Perldoc v3.14]

Hay una serie de documentos que pueden consultarse con perldoc o tkpod. Los mas básicos son:

Hay un conjunto extenso de tutoriales:

Los manuales de referencia se dividen por tópicos: Por último - solo para gurus - estan los documentos que describen las partes internas de Perl: La opción -l de perldoc permite ver en que directorio se encuentra la documentación:
$ perldoc -l perlintro
/usr/share/perl/5.8/pod/perlintro.pod
Si se desea convertir desde pod a algún formato específico, por ejemplo a LATEX basta con usar el conversor adecuado:
$ pod2latex -full `perldoc -l perlintro`
$ ls -l perlintro.tex
-rw-r--r-- 1 pp2 pp2 24333 2008-02-21 13:22 perlintro.tex
$ pdflatex perlintro.tex
This is pdfeTeX, Version 3.141592-1.30.5-2.2 (Web2C 7.5.5)
entering extended mode
....................................................................
$ ls -ltr *.pdf | tail -1
-rw-r--r-- 1 pp2 pp2 191367 2008-02-21 13:22 perlintro.pdf
En este caso hemos usado pod2latex. Para poder ejecutar la conversión de .pod a LATEX asegúrese de tener instalado el módulo Pod::LaTeX (puede obtenerlo desde CPAN).

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19