EXTUTILS::COMMAND::MM(3pm)
π NAME π
okay bestie, welcome to ExtUtils::Command::MM(3pm), straight outta the Perl Programmers Reference Guide β¨
ExtUtils::Command::MM β Commands for the MM's to use in Makefiles π
β¨ SYNOPSIS β¨
perl "-MExtUtils::Command::MM" -e "function" "--" arguments...
π DESCRIPTION π
FOR INTERNAL USE ONLY! The interface is not stable. Like, do not build your whole personality on this API, bestie π
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. Just so we're clear π«Ά
πΈ test_harness
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. Slay, organized queen π
π¦ pod2man
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 to
And the removal of:
--verbose/-v
--help/-h
If no arguments are given to pod2man, it will read from @ARGV.
If Pod::Man is unavailable, this function will warn and return undef. Not ideal, but at least it tells you π
π warn_if_old_packlist
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. It's giving warning, but make it cute π
π perllocal_install
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. Like Foo::Bar β iconic naming convention, no notes.
Key/value pairs are extra information about the module. Fields include:
installed intoβ which directory your module was out intoLINKTYPEβ dynamic or static linkingVERSIONβ module version numberEXE_FILESβ any executables installed in a space separated list
π«Ά uninstall
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. So it's more of a vibe check than an actual uninstall, bestie π
β test_s
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. Simple, clean, effective π
π cp_nonempty
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. Copy queen behavior, honestly π
mwah π that's the whole page, bestie. Source/version is perl v5.42.3, the date is 2026-11-03, and the footer name is ExtUtil...mand::MM(3pm). Go make your Makefile proud β¨π¦
π¦ where this page comes from
- alpine 3.24: perl-doc 5.42.3-r0 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms