Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 51cc7fdc23b7328370b088d64dee00fb > files > 11

perl-Path-FindDev-0.4.0-2.mga4.noarch.rpm

NAME
    Path::FindDev - Find a development path somewhere in an upper hierarchy.

VERSION
    version 0.4.0

DESCRIPTION
    This package is mostly a glue layer around "Path::IsDev" with a few
    directory walking tricks.

        use Path::FindDev qw( find_dev );

        if ( my $root = find_dev('/some/path/to/something/somewhere')) {
            print "development root = $root";
        } else {
            print "No development root :(";
        }

FUNCTIONS
  find_dev
        my $result = find_dev('/some/path');

    If a "dev" directory is found at, or above, "/some/path", it will be
    returned as a "Path::Tiny"

    If you pass configurations to import:

        use Path::FindDev find_dev => { set => $someset };

    Then the exported "find_dev" will pass that set name to "Path::IsDev".

    Though you should only do this if

    *   the default set is inadequate for your usage

    *   you don't want the set to be overridden by %ENV

    Additionally, you can call find_dev directly:

        require Path::FindDev;

        my $result = Path::FindDev::find_dev('/some/path');

    Which by design inhibits your capacity to specify an alternative set in
    code.

EXAMPLE USE-CASES
    Have you ever found yourself doing

        use FindBin;
        use lib "$FindBin::Bin/../../../tlib"

    In a test?

    Have you found yourself paranoid of file-system semantics and tried

        use FindBin;
        use Path::Tiny qw(path)
        use lib path($FindBin::Bin)->parent->parent->parent->child('tlib')->stringify;

    Have you ever done either of the above in a test, only to find you've
    needed to move the test to a deeper hierarchy, and thus, need to
    re-write all your path resolution?

    Have you ever had this problem for multiple files?

    No more!

        use FindBin;
        use Path::FindDev qw(find_dev);
        use lib find_dev($FindBin::Bin)->child('t','tlib')->stringify;

    ^ Should work, regardless of which test you put it in, and regardless of
    what $CWD happens to be when you call it.

AUTHOR
    Kent Fredric <kentfredric@gmail.com>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2013 by Kent Fredric
    <kentfredric@gmail.com>.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.