EXTUTILS::COMMAND::MM(3perl)
π NAME π
ExtUtils::Command::MM β commands for the MM's to use in Makefiles β¨
okay so bestie, this whole module is basically a lil toolbox of commands that Makefiles call when they need Perl to do a quick chore. no cap π«Ά
π SYNOPSIS π
perl "-MExtUtils::Command::MM" -e "function" "--" arguments...
that's the whole vibe: you load the module, you name a function, you feed it args after the --. slay π
π DESCRIPTION π
β οΈ FOR INTERNAL USE ONLY! The interface is not stable. ma'am this is a backstage pass, not a public API β it can change on you whenever, fr fr π
ExtUtils::Command::MM encapsulates code which would otherwise have to be done with large "one" liners. you know the type β a giant perl -e "..." blob that no one wants to debug at 3am. this module said "not me, I'll hold it" π
π Heads up: any $(FOO) you see in the examples is a make variable, not Perl. do not come for me, that's just how make talks πΈ
π§ͺ test_harness
test_harness($verbose, @test_libs);
Runs the tests on @ARGV via Test::Harness, passing through the $verbose flag. any @test_libs get unshifted onto the test's @INC, so the tests can find them π·
and the @test_libs are run in alphabetical order β yes, alphabetical, that's the rule, bestie π
π 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. and if Pod::Man is unavailable, this function will warn and return undef β so check your return value, bestie, don't get caught slipping π
π΅ warn_if_old_packlist
perl "-MExtUtils::Command::MM" -e warn_if_old_packlist <somefile>
Displays a warning that an old packlist file was found. it reads the filename from @ARGV. that's it, that's the whole job β it just yells politely π£οΈβ¨
π¦ 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β the type of what you're installing. usuallyModule.module nameβ simply the name of your module. likeFoo::Barπ«
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(). it warns that uninstallation is deprecated and doesn't actually perform the uninstallation π
π¨ bestie READ THIS TWICE: it warns you it's deprecated, and then it literally does nothing. it talks the talk and does not walk the walk. no cap.
π 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, honest, reliable β the green flag of this whole module π
π 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 π¦
so like: empty file? nothing happens, stay home. real content? copy, set perms, done π
and that's the whole page, bestie!! you ate it, you understood it, we're done here ππ
Perl v5.44.0 β dated 2026-10-17 β from the Perl Programmers Reference Guide. mwah, love u, go write some makefiles ππ
π¦ where this page comes from
- arch rolling: perl 5.44.0-1 Β· Artistic-1.0-Perl AND GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms