in reply to Differentiating between local and system modules

use lib 'Foo'; is what you want.

Replies are listed 'Best First'.
Re: Re: Differentiating between local and system modules
by Anonymous Monk on Jun 01, 2003 at 13:23 UTC
    Ok, that worked, but now I have another problem. In my code, ./Foo/Config.pm uses Getopt::Long, and POD::Usage, to parse options and spit out the relevant --help stuff. If I call ./myscript.pl --help, it just returns, without dumping the help (I'm using Carp also).

    If I call perl ./Foo/Config.pm --help, it works. The tree looks basically like this:

    . |-- ./myscript.pl `-- ./Foo |-- ./Foo/Color | `-- ./Foo/Color/Rgb.pm `-- ./Foo/Config.pm

    What am I forgetting here?

      I think I found part of the problem. I've got Pod::Usage declared in ./Foo/config.pm, and when I run myscript.pl from the parent directory, pod2usage() expects to find the --help output POD data in myscript.pl, and doesn't look in ./Foo/Config.pm at all, where the actual relevant POD data exists.

      How do I get the POD from ./Foo/Config.pm to show up when I call ./myscript.pl --help (which has a use() specified for 'use Foo::Config;' in it)?

        If you read its POD, you'll find mention of the -input option to pod2usage(). That's what you want.

        Makeshifts last the longest.