Reproduced without permission from gnu.emacs.help posting:

From: [email protected] (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 <[email protected]>
[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.