From O'reilly Perl Cookbook:
Problem
You have a module that you don't need to load each time the program runs, or whose inclusion you wish to delay until after the program starts up.
A related situation arises in programs that don't always use the same set of modules every time they're run. For example, the factors program from Chapter 2, Numbers, needs the infinite precision arithmetic library only when the -b command-line flag is supplied. A use statement would be pointless within a conditional because it's evaluated at compile time, long before the if can be checked. So we'll use a require instead:
if ($opt_b) {
require Math::BigInt;
}