++ed by:

2 PAUSE user(s)
2 non-PAUSE user(s).

Slaven Rezić


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


    use Tk::Pod::FindPods;

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



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.


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.


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



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


The perl version.


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


The user id.

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

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


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

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




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.