Both install() and uninstall() are specific to the way
ExtUtils::MakeMaker handles the installation and
deinstallation of perl modules. They are not designed as
general purpose tools.
install() takes three arguments. A reference to a hash, a
verbose switch and a don't-really-do-it switch. The hash ref
contains a mapping of directories: each key/value pair is a
combination of directories to be copied. Key is a directory
to copy from, value is a directory to copy to. The whole
tree below the "from" directory will be copied preserving
timestamps and permissions.
There are two keys with a special meaning in the hash:
"read" and "write". After the copying is done, install will
write the list of target files to the file named by
$hashref->{write}. If there is another file named by
$hashref->{read}, the contents of this file will be merged
into the written file. The read and the written file may be
identical, but on AFS it is quite likely, people are
installing to a different directory than the one where the
files later appear.
install_default() takes one or less arguments. If no
arguments are specified, it takes $ARGV[0] as if it was
specified as an argument. The argument is the value of
MakeMaker's FULLEXT key, like Tk/Canvas. This function calls
install() with the same arguments as the defaults the
MakeMaker would use.
The argument-less form is convenient for install scripts
like
perl -MExtUtils::Install -e install_default Tk/Canvas
Assuming this command is executed in a directory with
populated blib directory, it will proceed as if the blib was
build by MakeMaker on this machine. This is useful for
binary distributions.
uninstall() takes as first argument a file containing
filenames to be unlinked. The second argument is a verbose
switch, the third is a no-don't-really-do-it-now switch.
pm_to_blib() takes a hashref as the first argument and
copies all keys of the hash to the corresponding values
efficiently. Filenames with the extension pm are autosplit.
Second argument is the autosplit directory.