• TUX



Perl 5 version 14.1 documentation
Recently read



Pod::Html - module to convert pod files to HTML


  1. use Pod::Html;
  2. pod2html([options]);


Converts files from pod format (see perlpod) to HTML format. It can automatically generate indexes and cross-references, and it keeps a cache of things it knows how to cross-reference.



  1. pod2html("pod2html",
  2. "--podpath=lib:ext:pod:vms",
  3. "--podroot=/usr/src/perl",
  4. "--htmlroot=/perl/nmanual",
  5. "--libpods=perlfunc:perlguts:perlvar:perlrun:perlop",
  6. "--recurse",
  7. "--infile=foo.pod",
  8. "--outfile=/perl/nmanual/foo.html");

pod2html takes the following arguments:

  • backlink
    1. --backlink="Back to Top"

    Adds "Back to Top" links in front of every head1 heading (except for the first). By default, no backlinks are generated.

  • cachedir
    1. --cachedir=name

    Creates the item and directory caches in the given directory.

  • css
    1. --css=stylesheet

    Specify the URL of a cascading style sheet. Also disables all HTML/CSS style attributes that are output by default (to avoid conflicts).

  • flush
    1. --flush

    Flushes the item and directory caches.

  • header
    1. --header
    2. --noheader

    Creates header and footer blocks containing the text of the NAME section. By default, no headers are generated.

  • help
    1. --help

    Displays the usage message.

  • hiddendirs
    1. --hiddendirs
    2. --nohiddendirs

    Include hidden directories in the search for POD's in podpath if recurse is set. The default is not to traverse any directory whose name begins with .. See podpath and recurse.

    [This option is for backward compatibility only. It's hard to imagine that one would usefully create a module with a name component beginning with ..]

  • htmldir
    1. --htmldir=name

    Sets the directory in which the resulting HTML file is placed. This is used to generate relative links to other files. Not passing this causes all links to be absolute, since this is the value that tells Pod::Html the root of the documentation tree.

  • htmlroot
    1. --htmlroot=name

    Sets the base URL for the HTML files. When cross-references are made, the HTML root is prepended to the URL.

  • index
    1. --index
    2. --noindex

    Generate an index at the top of the HTML file. This is the default behaviour.

  • infile
    1. --infile=name

    Specify the pod file to convert. Input is taken from STDIN if no infile is specified.

  • libpods
    1. --libpods=name:...:name

    List of page names (eg, "perlfunc") which contain linkable =item s.

  • netscape
    1. --netscape
    2. --nonetscape

    Deprecated, has no effect. For backwards compatibility only.

  • outfile
    1. --outfile=name

    Specify the HTML file to create. Output goes to STDOUT if no outfile is specified.

  • podpath
    1. --podpath=name:...:name

    Specify which subdirectories of the podroot contain pod files whose HTML converted forms can be linked to in cross references.

  • podroot
    1. --podroot=name

    Specify the base directory for finding library pods.

  • quiet
    1. --quiet
    2. --noquiet

    Don't display mostly harmless warning messages. These messages will be displayed by default. But this is not the same as verbose mode.

  • recurse
    1. --recurse
    2. --norecurse

    Recurse into subdirectories specified in podpath (default behaviour).

  • title
    1. --title=title

    Specify the title of the resulting HTML file.

  • verbose
    1. --verbose
    2. --noverbose

    Display progress messages. By default, they won't be displayed.


  1. htmlify($heading);

Converts a pod section specification to a suitable section specification for HTML. Note that we keep spaces and special characters except ", ? (Netscape problem) and the hyphen (writer's problem...).


  1. anchorify(@heading);

Similar to htmlify() , but turns non-alphanumerics into underscores. Note that anchorify() is not exported by default.


Uses $Config{pod2html} to setup default options.


Tom Christiansen, <>.




This program is distributed under the Artistic License.