in reply to How to use a 'Use'

And, just in case you're wondering, the doc is here (you can also use perldoc base).

From a certain point of view, the question is not correct - in both cases, the keyword use means exactly the same thing.

1. use <package> <list of items>; 2. use base <list of parent modules>;
Do you see it? The second form is a specialisation of the first, where you're actually using package base, which you'll find among other CORE package files in your library. So, you'll be able to find a base.pm file, which will enlighten you with the real mechanism under the hood.

The same applies when you use warnings, or use strict: you're asking to include the corresponding file, which encapsulates the requested functionality. These kind of modules are called pragmas.

One final note. When you write:

use <package> qw();
you're also specifying an empty list of items. This list is usually used by the module to understand what functions should be exported and what not, so you're asking to import nothing. This semantic is consensual for "normal" modules but not mandatory; as a matter of fact, pragmas use the list for completely other purposes (e.g. the base pragma grabs the list of ancestors from it).

Flavio
perl -ple'$_=reverse' <<<ti.xittelop@oivalf

Don't fool yourself.