App::GitGot::Command::lib - Generate a lib listing off a .gotlib file


version 1.336


    $ echo '@dancer/lib' > .gotlib
    $ export PERL5LIB=`got lib yet_another_repo_name/lib`

    # PERL5LIB will now hold the path to the 'lib'
    # subdirectory of 'yet_another_repo_name', followed
    # by the 'lib' directories of all repos tagged with 'dancer',
    # followed by the original paths of PERL5LIB


Got's lib subcommand is a Got-aware answer to ylib and Devel::Local, and provides an easy way to alter the PERL5LIB environment variable (or indeed any other env variable) with local libraries in got-managed repos.

The subcommand will merge any library passed on the command line and found in the the gotlib file (if present), and will generate a library listing where those directories are prepended to PERL5LIB (command-line entries first, then the ones from the gotlib file).

Libraries can be given in three different ways:

absolute or relative path

If the value begins with a '/' or a '.', it is assumed to be a straight path. It will be expanded to its absolute value, but otherwise left untouched.

For example './lib' will be expanded to '/path/to/current/directory/lib'


If the value begins with @, it is assumed to be a tag, and will be replaced by the path to all repositories having that tag.

For example '@dancer/lib' will be expanded to '/path/to/dancer/project1/lib:/path/to/dancer/project2/lib:...'

project name

If not a path nor a tag, the value is assumed to be a project name.

For example 'vim-x/lib' will be expanded to '/path/to/vim-x/lib'



Separator printed between library directories in the output. Defaults to ':' (colon).


Environment variable containing the directories to include at the end of the library listing. Defaults to PERL5LIB.


File containing the list of directories to include. Defaults to .gotlib.




John SJ Anderson <>


This software is copyright (c) 2015 by John SJ Anderson.

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