| In Chapter 15, we created a fictional Island::Plotting::Maps module and built the right support for Exporter so that we could include use 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? Documentation 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? Testing 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? |