note TheDamian <blockquote><i> Exceptions suffer exceptions :), for instance for programs that mustn't die whatever happens </i></blockquote> In which case the top level of the program needs to be running inside an <tt>eval{...}</tt> anyway, to protect it from intrinsic exceptions like divide-by-zero or call-on-missing-method. So exceptions are still okay, as they'll always be caught. <blockquote><i> And concerning the 8th perl coding practice: could you explain it a bit? </i></blockquote> Sure, but an adequate explanation is about 30 pages long. Which is why I put it in a <a href="">handy book</a>, very soon to be available from most good bookstores. ;-) <p>Briefly, always using <tt>/x</tt> allows you to set out regexes readably, and to comment them. Always using <tt>/ms</tt> makes Perl regexes work the way most people expect them to work, and prevents very subtle edge-case errors. Using <tt>\A</tt> and <tt>\z</tt> is essential for saying what you mean under <tt>/m</tt> (which you'll always be using). 475285 475691