ExtUtils::Command::MM - Commands for the MM's to use in Makefiles
| Use Case | Command | Description |
|---|---|---|
| π§ͺ Run tests | test_harness($verbose, @test_libs) | Runs tests via Test::Harness with libraries |
| π POD to man | pod2man('--option', $pod => $man, ...) | Convert POD files to manpages, supports --perm_rw |
| β οΈ Warn old packlist | perl -MExtUtils::Command::MM -e warn_if_old_packlist <file> | Warn about an old packlist file |
| π₯ perllocal install | perl -M... -e perllocal_install <type> <mod> <key> <val>... | Print POD fragment for perllocal.pod |
| ποΈ Uninstall | perl -M... -e uninstall <packlist> | Wrapper (deprecated warning, no actual removal) |
| π Test nonβempty | perl -M... -e test_s <file> | Exit 0 if file nonβempty, 1 otherwise |
| π Copy nonβempty | perl -M... -e cp_nonempty <src> <dst> <perm> | Copy file only if nonβempty, with permissions |
perl "-MExtUtils::Command::MM" -e "function" "--" arguments...
FOR INTERNAL USE ONLY! The interface is not stable.
ExtUtils::Command::MM encapsulates code which would otherwise have to be done with large "one" liners.
Any $(FOO) used in the examples are make variables, not Perl.
test_harness($verbose, @test_libs);
Runs the tests on @ARGV via Test::Harness passing through the $verbose flag. Any @test_libs will be unshifted onto the test's @INC.
@test_libs are run in alphabetical order.
pod2man( '--option=value',
$podfile1 => $manpage1,
$podfile2 => $manpage2,
...
);
# or args on @ARGV
pod2man() is a function performing most of the duties of the pod2man program. Its arguments are exactly the same as pod2man as of 5.8.0 with the addition of:
--perm_rw octal permission to set the resulting manpage toAnd the removal of:
--verbose/-v--help/-hIf no arguments are given to pod2man it will read from @ARGV.
If Pod::Man is unavailable, this function will warn and return undef.
perl "-MExtUtils::Command::MM" -e warn_if_old_packlist <somefile>
Displays a warning that an old packlist file was found. Reads the filename from @ARGV.
perl "-MExtUtils::Command::MM" -e perllocal_install
<type> <module name> <key> <value> ...
# VMS only, key|value pairs come on STDIN
perl "-MExtUtils::Command::MM" -e perllocal_install
<type> <module name> < <key>|<value> ...
Prints a fragment of POD suitable for appending to perllocal.pod. Arguments are read from @ARGV.
'type' is the type of what you're installing. Usually 'Module'.
'module name' is simply the name of your module. (Foo::Bar)
Key/value pairs are extra information about the module. Fields include:
perl "-MExtUtils::Command::MM" -e uninstall <packlist>
A wrapper around ExtUtils::Install::uninstall(). Warns that uninstallation is deprecated and doesn't actually perform the uninstallation.
perl "-MExtUtils::Command::MM" -e test_s <file>
Tests if a file exists and is not empty (size > 0). Exits with 0 if it does, 1 if it does not.
perl "-MExtUtils::Command::MM" -e cp_nonempty <srcfile> <dstfile> <perm>
Tests if the source file exists and is not empty (size > 0). If it is not empty it copies it to the given destination with the given permissions.
Generated by phpman v4.9.26-5-g7740029 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-24 11:05 @216.73.216.102
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)