App::PMUtils - Command-line utilities related to Perl modules


This document describes version 0.36 of App::PMUtils (from Perl distribution App-PMUtils), released on 2014-12-26.


This distribution provides several command-line utilities related to Perl modules. The main purpose of these utilities is tab completion.


What is the purpose of this distribution? Haven't other utilities existed?

For example, mpath in Module::Path distribution, mversion in Module::Version distribution, etc.

True. The main point of these utilities is shell tab completion, to save typing.

For shell completion, why do you recommend the use of / (slash) instead of :: (double colon) as it should be?

Colon is problematic because by default it is a word breaking character in bash. This means, in this command:

 % pmpath Text:<tab>

bash is completing a new word (empty string), and in this:

 % pmpath Text::ANSITabl<tab>

bash is completing ANSITabl instead of what we want Text::ANSITabl.

The solution is to use quotes, e.g.

 % pmpath "Text:<tab>
 % pmpath 'Text:<tab>

or, use /, which is by default not a word-breaking character in bash.

The utilities are a bit smart: they accept both kinds of separator. If you type module name which doesn't contain any ::, / will be used as namespace separator; otherwise if you already type ::, it will use :: as the separator.


App::PlUtils, distribution that provides utilities related to Perl scripts.

App::ProgUtils, a similarly spirited distribution.


Please visit the project's homepage at


Source repository is at


Please report any bugs or feature requests on the bugtracker website

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.


perlancar <>


This software is copyright (c) 2014 by

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