---
name: "Pod::Tree::PerlPod"
section: "3pm"
platform: "linux"
package: "libpod-tree-perl"
version: "1.31-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Pod::Tree::PerlPod"
---

# Pod::Tree::PerlPod(3pm)

translate Perl PODs to HTML

## NAME

Pod::Tree::PerlPod - translate Perl PODs to HTML

## SYNOPSIS

```
  $perl_map = Pod::Tree::PerlMap->new;
  $perl_pod = Pod::Tree::PerlPod->new( $perl_dir, $HTML_dir, $perl_map, %opts );
  $perl_pod->scan;
  $perl_pod->index;
  $perl_pod->translate;

  $top = $perl_pod->get_top_entry;
```

## DESCRIPTION

`"Pod::Tree::PerlPod"` translates Perl PODs to HTML. It does a recursive subdirectory search through *$perl\_dir* to find PODs.

`"Pod::Tree::PerlPod"` generates a top-level index of all the PODs that it finds, and writes it to *HTML\_dir*`"/pod.html"`.

`"Pod::Tree::PerlPod"` generates and uses an index of the PODs that it finds to construct HTML links. Other modules can also use this index.

## METHODS

- *$perl\_pod* = "new" "Pod::Tree::PerlPod" *$perl\_dir*, *$HTML\_dir*, *$perl\_map*, *%options*

  Creates and returns a new `"Pod::Tree::PerlPod"` object.

  *$perl\_dir* is the root of the Perl source tree.

  *$HTML\_dir* is the directory where HTML files will be written.

  *$perl\_map* maps POD names to URLs.

  *%options* are passed through to `"Pod::Tree::HTML"`.

- *$perl\_pod*-\>"scan";

  Does a recursive subdirectory search through *$perl\_dir* to  locate PODs. Each POD that is located is entered into *$perl\_map*.

- *$perl\_pod*-\>"index"

  Generates a top-level index of all the PODs.  The index is written to *HTML\_dir*`"/pod.html"`.

- *$perl\_pod*-\>"translate"

  Translates each POD found by `"scan"` to HTML. The HTML pages are written to *HTML\_dir*, in a subdirectory hierarchy that mirrors the  the Perl source distribution.

- *$perl\_pod*-\>"get\_top\_entry"

  Returns a hash reference of the form

  ```
    { URL         => $URL,
      description => $description }
  ```

  `"Pod::Tree::PerlTop"` uses this to build a top-level index of all the  Perl PODs.

## LINKING

`"Pod::Tree::PerlPod"` indexes PODs by the base name of the POD file. To link to *perlsub.pod*, write

```
    L<perlsub>
```

## REQUIRES

```
    5.005;
    File::Find;
    HTML::Stream;
    IO::File;
    Pod::Tree::HTML;
    Pod::Tree::PerlUtil;
```

## EXPORTS

Nothing.

## SEE ALSO

`"Pod::Tree::HTML"`, `"Pod::Tree::PerlMap"`,

## AUTHOR

Steven McDougall, swmcd@world.std.com

## COPYRIGHT

Copyright (c) 2000 by Steven McDougall.  This module is free software; you can redistribute it and/or modify it under the same terms as Perl.
