Configure Emacs for easy Perl coding.
While perl-mode is the classic Perl-editing mode that Emacs uses for Perl files by default, most Perl programmers prefer the newer cperl-mode. (The "c" in the name is because its early versions borrowed code from c-mode. It's not actually written in C, nor meant for C.) Enabling it is easy.
cperl-mode is probably already included in your version of Emacs, but you can get an up-to-date version from http://math.berkeley.edu/~ilya/software/emacs/. Save it to an Emacs library directory. Then enable it for .pl and .pm files by adding nine lines to your ~/.emacs file:
(load-library "cperl-mode") (add-to-list 'auto-mode-alist '("\\\\.[Pp][LlMm][Cc]?$" . cperl-mode)) (while (let ((orig (rassoc 'perl-mode auto-mode-alist))) (if orig (setcdr orig 'cperl-mode)))) (while (let ((orig (rassoc 'perl-mode interpreter-mode-alist))) (if orig (setcdr orig 'cperl-mode)))) (dolist (interpreter '("perl" "perl5" "miniperl" "pugs")) (unless (assoc interpreter interpreter-mode-alist) (add-to-list 'interpreter-mode-alist (cons interpreter 'cperl-mode))))
What can you do with it?
Put Perldoc at your fingertips
cperl-mode provides a handy function for calling perldoc, but does not associate it with any key by default. To put it at your fingertips, add one line to your .emacs file:
(global-set-key "\\M-p" 'cperl-perldoc) ; alt-p
If you want to use Pod::Webserver [Hack #3], use one of the various in-Emacs web browsers:
(global-set-key "\\M-p" '(lambda ( ) (interactive) (require 'w3m) (w3m-goto-url "http://localhost:8020/") ))
If you prefer your normal web browser, just set some particular key to start it up on the Pod::Webserver page:
(global-set-key "\\M-p" '(lambda ( ) (interactive) (start-process "" nil "firefox" "http://localhost:8020/" ; Or however you launch your favorite browser, like: ; "gnome-terminal" "-e" "lynx http://localhost:8020/" ; "xterm" "-e" "elinks http://localhost:8020/" )))
Use a special mode just for Pod
One problem with both cperl-mode and perl-mode is that they both treat Pod the same: they just ignore it. To get better syntax highlighting for Pod, switch to the pod-mode. It probably isn't part of your Emacs distribution, so you download the latest version from http://www.cpan.org/authors/id/S/SC/SCHWIGON/pod-mode/.
Once installed, enable it in your .emacs file with:
(require 'pod-mode) (add-to-list 'auto-mode-alist '("\\\\.pod$" . pod-mode)) ; You might appreciate turning on these ; features by default for Pod: (add-hook 'pod-mode-hook '(lambda ( ) (progn (font-lock-mode) ; =syntax highlighting (auto-fill-mode 1) ; =wordwrap (flyspell-mode 1) ; =spellchecking )))