Perl 5 version 32.0 documentation

ExtUtils::Command::MM

NAME

ExtUtils::Command::MM - Commands for the MM's to use in Makefiles

SYNOPSIS

  1. 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
    1. 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
    1. pod2man( '--option=value',
    2. $podfile1 => $manpage1,
    3. $podfile2 => $manpage2,
    4. ...
    5. );
    6. # 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:

    1. --perm_rw octal permission to set the resulting manpage to

    And the removal of:

    1. --verbose/-v
    2. --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
    1. 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.

  • perllocal_install
    1. perl "-MExtUtils::Command::MM" -e perllocal_install
    2. <type> <module name> <key> <value> ...
    3. # VMS only, key|value pairs come on STDIN
    4. perl "-MExtUtils::Command::MM" -e perllocal_install
    5. <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:

    1. installed into which directory your module was out into
    2. LINKTYPE dynamic or static linking
    3. VERSION module version number
    4. EXE_FILES any executables installed in a space separated
    5. list
  • uninstall
    1. 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.

  • test_s
    1. 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.

  • cp_nonempty
    1. 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.