```{index} single: ExtUtils::Command::MM ``` # ExtUtils::Command::MM Commands for the MM's to use in Makefiles ## SYNOPSIS ```text perl "-MExtUtils::Command::MM" -e "function" "--" arguments... ``` ## DESCRIPTION **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** ```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** ```perl 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: ```text --perm_rw octal permission to set the resulting manpage to ``` And the removal of: ```text --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. - **warn\_if\_old\_packlist** ```text perl "-MExtUtils::Command::MM" -e warn_if_old_packlist ``` Displays a warning that an old packlist file was found. Reads the filename from @ARGV. - **perllocal\_install** ```text perl "-MExtUtils::Command::MM" -e perllocal_install ... # VMS only, key|value pairs come on STDIN perl "-MExtUtils::Command::MM" -e perllocal_install < | ... ``` 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: ```text installed into which directory your module was out into LINKTYPE dynamic or static linking VERSION module version number EXE_FILES any executables installed in a space separated list ``` - **uninstall** ```text perl "-MExtUtils::Command::MM" -e uninstall ``` A wrapper around ExtUtils::Install::uninstall(). Warns that uninstallation is deprecated and doesn't actually perform the uninstallation. - **test\_s** ```text perl "-MExtUtils::Command::MM" -e test_s ``` Tests if a file exists and is not empty (size > 0). _Exits_ with 0 if it does, 1 if it does not. - **cp\_nonempty** ```text perl "-MExtUtils::Command::MM" -e cp_nonempty ``` 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.