• TUX



Perl 5 version 26.0 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. "--recurse",
  6. "--infile=foo.pod",
  7. "--outfile=/perl/nmanual/foo.html");

pod2html takes the following arguments:

  • backlink
    1. --backlink

    Turns every head1 heading into a link back to the top of the page. By default, no backlinks are generated.

  • cachedir
    1. --cachedir=name

    Creates the directory cache 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 directory cache.

  • 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.

  • htmldir
    1. --htmldir=name

    Sets the directory to which all cross references in the resulting html file will be relative. Not passing this causes all links to be absolute since this is the value that tells Pod::Html the root of the documentation tree.

    Do not use this and --htmlroot in the same call to pod2html; they are mutually exclusive.

  • 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.

    Do not use this if relative links are desired: use --htmldir instead.

    Do not pass both this and --htmldir to pod2html; they are mutually exclusive.

  • 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.

  • outfile
    1. --outfile=name

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

  • poderrors
    1. --poderrors
    2. --nopoderrors

    Include a "POD ERRORS" section in the outfile if there were any POD errors in the infile. This section is included by default.

  • 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. Default is the current working directory.

  • 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.


Marc Green, <>.

Original version by Tom Christiansen, <>.




This program is distributed under the Artistic License.