Chapter 11

Packages and Modules

WHAT YOU WILL LEARN IN THIS CHAPTER:

  • Understanding packages and namespaces
  • Defining and exporting subroutines in packages
  • Using BEGIN, CHECK, INIT, and END
  • Writing POD: Plain Old Documentation
  • Creating packages with Module::Build and ExtUtils::MakeMaker
  • How to create and install modules

WROX.COM CODE DOWNLOAD FOR THIS CHAPTER

The wrox.com code downloads for this chapter are found at www.wrox.com/remtitle.cgi?isbn=1118013847 on the Download Code tab. The code for this chapter is divided into the following major examples:

  • example_11_1_convert.pl
  • lib/Convert/Distance/Imperial.pm
  • lib/Convert/Distance/Metric.pm
  • lib/My/Number/Utilities.pm
  • listing_11_1_primes.pl

Up to now, all the code has been in a single file. However, that doesn’t work when you build larger systems. You need to understand how to logically break apart your applications into separate, preferably reusable components called packages or modules. These modules generally live in different files. This chapter explains how to create and organize these packages. Some professional Perl programmers never get beyond this step and still have successful careers, and by the end of this chapter, you’ll be well on your way to being a professional Perl programmer.

In the real world, mission-critical Perl applications range from a few lines of code to more than a million (your author has worked on the latter).

When you have huge systems, would you actually want all that in one file? Probably not. Creating ...

Get Beginning Perl now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.