Best viewed with a modern CSS2-compliant browser, such as Mozilla Firefox.
Previous: Arrays and hashes
Perl has two direct ways of naming containers: package names, and lexical names. Package names are perl's original naming system, and is used by default (unless use strict is active). In modern code they are only recommended for names that must be globally accessible, and where lexical naming is unavailable.
Lexical names — introduced with my — have lexically scoped visibility, and are preferred for all other names. Note however that lexical names are only supported for scalars, arrays, and hashes. Other names (such as subroutines) must necessarily use package naming.
(... still being written ...)