Chapter 16. Writing a Distribution
In Chapter 15, we
created a fictional
Island::Plotting::Maps module and built the
right support for
Exporter so that we
Island::Plotting::Maps in a program.
While the resulting .pm file was useful, it wasn’t very practical. We have a lot more work to do before we can share our work, whether that means simply installing it ourselves on another one of our machines or giving it to someone else to use.
- Installation location
How does everything get in the right place so Perl can find it? Where is our code going to be stored on the system? Can users make it available to everyone on the system because they have root or administrator privileges, or do they have to install it in their own directories?
Where is the documentation for the module? How is the documentation installed so the user can read it?
- Archive completeness
Is there anything extra that the users of our software will need? What else do I have to include with my code to make it usable?
How do we know our software works? Have we verified that it does what we say it does? How do we know it works the same on other operating systems or versions of Perl?
- C-language interfaces
If our module contains C or C++ code (not covered here), how can the developer describe how to compile and link the code in the developer’s environment or the end user environment?
There’s More Than One Way To Do It
A distribution contains the module (or collection of related modules), ...