This module handles the installing and uninstalling of perl modules,
scripts, man pages, etc...
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.
"Joseki" is a japanese term from the game Go and means "a formulaic sequence of
moves which is established for giving equal outcomes to both players", but it
has come into general use to describe any fixed form of behaviour.
Dist::Joseki offers you tools that help you in developing Perl module
distributions if you stick to a certain formulaic style of structuring your
distributions.
This module provides an easy interface for getting various metadata
about a Perl module distribution.
Dist::Zilla builds distributions of code to be uploaded to the CPAN.
In this respect, it is like ExtUtils::MakeMaker, Module::Build, or
Module::Install. Unlike those tools, however, it is not also a
system for installing code that has been downloaded from the CPAN.
Since it's only run by authors, and is meant to be run on a repository
checkout rather than on published, released code, it can do much
more than those tools, and is free to make much more ludicrous
demands in terms of prerequisites.
DynaLoader::Functions provides a function-based interface to dynamic loading as
used by Perl. Some details of dynamic loading are very platform-dependent, so
correct use of these functions requires the programmer to be mindful of the
space of platform variations.
Error::Helper provides some easy error related methods.
String eval is often used for dynamic code generation. For instance, Moose uses
it heavily, to generate inlined versions of accessors and constructors, which
speeds code up at runtime by a significant amount. String eval is not without
its issues however - it's difficult to control the scope it's used in (which
determines which variables are in scope inside the eval), and it can be quite
slow, especially if doing a large number of evals.
This module attempts to solve both of those problems. It provides an
eval_closure function, which evals a string in a clean environment, other than
a fixed list of specified variables. It also caches the result of the eval, so
that doing repeated evals of the same source, even with a different
environment, will be much faster (but note that the description is part of the
string to be evaled, so it must also be the same (or non-existent) if caching
is to work properly).
Eval::LineNumbers adds a #line "this-file" 392 comment to hereis text that is
going to be eval'd so that error messages will point back to the right place.
Please note: when you embed \n in your code, it gets expanded in double-quote
hereis documents so it will mess up your line numbering. Use \\n instead when
you can.
Event::Join is a perl module to join multiple "events" into one.
The pkg-config program retrieves information about installed libraries,
usually for the purposes of compiling against and linking to them.
ExtUtils::PkgConfig is a very simplistic interface to this utility,
intended for use in the Makefile.PL of perl extensions which bind
libraries that pkg-config knows. It is really just boilerplate code
that you would've written yourself.