Reproduced without permission from gnu.emacs.help posting:

From: jzawodn@wcnet.org (Jeremy D. Zawodny)
Re: Perl Package for Emacs?

I just downloaded it, stuck it in ~/lisp and byte-compiled it. (M-x
byte-compile-file). Then I added these lines to my .emacs file:

(setq load-path (cons (expand-file-name "~/lisp") load-path))
(autoload 'perl-mode "cperl-mode" "alternate mode for editing Perl programs" t)
(setq cperl-hairy t)
(setq cperl-indent-level 4)
(setq auto-mode-alist
      (append '(("\\.\\([pP][Llm]\\|al\\)$" . perl-mode))  auto-mode-alist ))

==================================================================

From: John Wiegley <johnw@oneworld.new-era.com>
[1] Re: Perl Package for Emacs?

Here's what I use to cause cperl-mode to be preferred to perl-mode in
Emacs 20.3:

    (defun modify-alist (alist-symbol key value &optional search-cdr)
      (let ((alist (symbol-value alist-symbol)))
        (while alist
          (if (eq (if search-cdr
                      (cdr (car alist))
                    (car (car alist))) key)
              (setcdr (car alist) value)
            (setq alist (cdr alist))))))
    
    (modify-alist 'interpreter-mode-alist 'perl-mode 'cperl-mode t)
    (modify-alist 'auto-mode-alist        'perl-mode 'cperl-mode t)

Any "autoload"s shouldn't be necessary.  They are located in
autoload.el.