---
name: "Tk::Pod::FindPods"
section: "3pm"
platform: "linux"
package: "libtk-pod-perl"
version: "0.9943-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Tk::Pod::FindPods"
---

# Tk::Pod::FindPods(3pm)

find Pods installed on the current system

## NAME

Tk::Pod::FindPods - find Pods installed on the current system

## SYNOPSIS

```
    use Tk::Pod::FindPods;
    my $o = Tk::Pod::FindPods->new;
    $pods = $o->pod_find(-categorized => 1, -usecache => 1);
```

## DESCRIPTION

### pod\_find

The **pod\_find** method scans the current system for available Pod documentation. The keys of the returned hash reference are the names of the modules or Pods (`"::"` substituted by `"/"` --- this makes it easier for Tk::Pod::Tree, as the separator may only be of one character). The values are the corresponding filenames.

If `"-categorized"` is specified, then the returned hash has an extra level with four categories: **perl** (for core language documentation), **pragma** (for pragma documentation like var or strict), **mod** (core or CPAN modules), and **script** (perl scripts with embedded Pod documentation). Otherwise, `"-category"` may be set to force the Pods into a category.

By default, `@INC` is scanned for Pods. This can be overwritten by the `"-directories"` option (specify as an array reference).

If `"-usecache"` is specified, then the list of Pods is cached (see cache directory). `"-usecache"` is disabled if `"-categorized"` is not set or `"-directories"` is set.

### WriteCache

Write the Pod cache. The cache is written to the cache directory. The file name is constructed from the perl version, operation system and user id.

### LoadCache()

Load the Pod cache, if possible.

### Cache directory

By default the cache file is written to the directory *~/.tkpod\_cache* (Unix systems), or the data directory as determined by File::HomeDir (Windows, MacOSX). If everything fails, then the temporary directory (*/tmp* or the OS equivalent) is used.

If necessary, then the last path component will be created (that is, *.tkpod\_cache* will be created if the directory does not exist).

To use another cache directory set the environment variable "TKPODCACHE".

## ENVIRONMENT

- TKPODCACHE

  Use a custom cache file instead of a file in the cache directory. The following placeholders are recognized:

  - %v

    The perl version.

  - %o

    The OS (technically correct: the archname, which can include tokens like "64int" or "thread").

  - %u

    The user id.

  Example for using */some/other/directory* for the cache file location:

  ```
          TKPODCACHE=/some/other/directory/pods_%v_%o_%u; export TKPODCACHE
  ```

  or

  ```
          setenv TKPODCACHE /some/other/directory/pods_%v_%o_%u
  ```

  depending on your shell (sh-like or csh-like).

## SEE ALSO

Tk::Tree.

## AUTHOR

Slaven Rezić \<*slaven@rezic.de*\>

Copyright (c) 2001,2003,2004,2005,2007,2009 Slaven Rezić. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
