If you use emacs, this function will check the syntax of your perl code and also run podchecker against it and display the result in a new buffer.
You can call this function via the after-save-hook, and have the syntax checker run automatically. The function checks for CPerl mode.
Updated the code and the 'perlsyn' folder is shown only when there is a syntax error.(thanks to water)
Also, why, Stefan, is the method suggested by this thread not preferred? If the code to be checked involved extensive external modules, wouldn't the 'brute force' syntax check of this method better catch and display any problems using those external dependencies?
to your first problem: mode-compile ships with XEmacs (which I use) but doesn't seem to be shipped with Gnu Emacs by default (at least not on my system and the (almost) latest download I have lying around. You can try http://www.tls.cena.fr/~boubaker/Emacs/ which seems to be the official download site, but I can't reach it right now.
Other than that there are old versions distributed in elisp-archives (search for mode-compile.el in your favorite search machine ;-) Or you may try the XEmacs version that may be on your system, already.
Once you downloaded it, follow the install instructions in that file. You may skip the byte-compiling which only improves speed, but you have to put the file in one of the directories that the variable load-path holds. Expand you load-path as you like:
As to your second question: Although I appreciate, like and do it myself I'd almost always prefer a well-tested and hopefully maintained piece of code from someone else to one quick written hack by myself. What would you do when the other code doesn't do what you want? Well, you'd done it already: get back to the Monastery and post a question. Whereas one could hope that the emacs and xemacs newsgroups and/or the cperl-mode and mode-compile maintainer might do a better job. But this is just my way of handling things. If the code works for you, go ahead and use it.
Ah, and just as a sidenote: you might try getting used to writing emacs-lisp-code. It's fun ;-)
One last: it's stefan k, not Stefan (but I admit that my sig is confusing here)
It perfoms "perl -cw" checking in the background when you are idle (not typing). Like a spell-checker it highlights your errors, so you can easily spot them (and are not forced to do explicit compiles).
The myperl-check-syntax function could be improved by changing the last if-expression to: