---
name: "Pod::Index::Builder"
section: "3pm"
platform: "linux"
package: "libpod-index-perl"
version: "0.14-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Pod::Index::Builder"
---

# Pod::Index::Builder(3pm)

Build a pod index

## NAME

Pod::Index::Builder - Build a pod index

## SYNOPSIS

```
    use Pod::Index::Builder;
    my $p = Pod::Index::Builder->new(
        pi_base => $base_path,
    );
    for my $file (@ARGV) {
        $p->parse_from_file($file);
    }
    $p->print_index;
```

## DESCRIPTION

This is a subclass of Pod::Parser that reads POD and outputs nothing. However, it saves the position of every X\<\> entry it sees. The index can be retrieved as a hashref, or printed in a format that is understandable by Pod::Index::Search.

## METHODS

- new

  The constructor, inherited from Pod::Parser. The only optional argument that  cares about is `"pi_base"`. If given, it is used as a base when converting pathnames to package names. For example, if `"pi_path"` = "lib", the filename *lib/Pod/Index.pm* will turn into `"Pod::Index"`, instead of the undesirable `"lib::Pod::Index"`.

- pod\_index

  Retrieves the index as a hashref. The hash keys are the keywords contained in the X\<\> tags, *normalized to lowercase*; the values are array references of Pod::Index::Entry objects.

- print\_index

  ```
      $parser->print_index($fh);
      $parser->print_index($filename);
      $parser->print_index();
  ```

  Prints the index to the given output filename or filehandle (or STDOUT by default). The format is tab-delimited, with the following columns:

  ```
      1) keyword
      2) podname
      3) line number
      4) context (title of section containing this entry)
  ```

  The index is sorted by keyword in a case-insensitive way.

## VERSION

0\.14

## SEE ALSO

Pod::Index, Pod::Index::Entry, Pod::Index::Search, Pod::Parser, perlpod

## AUTHOR

Ivan Tubert-Brohman \<itub@cpan.org\>

## COPYRIGHT

Copyright (c) 2005 Ivan Tubert-Brohman. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
