The following are based on personal experience. Those marked with a super-scripted asterisk (*
) are common mantras I repeat on #perl
- If someone's already done it, respect it, investigate it, use it, and build on it.
- Competition is healthy. Fierce competition is not. Two people working on the same project is not two people working on conflicting projects. Don't Fear the Collaborator.
- Programming is about finding patterns. *
- Not understanding something is not always a reason not to use it. Not understanding an algorithm can be a sign of laziness or ignorance. Not understanding why you're using something is a bad thing. (Case in point, people that do use CGI qw(:standard) and have no idea why.) *
- Code that reads like "There was an old lady who swallowed a fly" needs serious rethinking. (That is, code that is highly redundant, in the form of A; A B; A B C;.)
- Code should be fluent. Don't program in a stuttering manner. If this means you need to read all your code before you add more, by all means, do so.
- Users are evil. All users are evil. Do not trust them. Perl specifically offers the -T switch because it knows users are evil. *
- It helps a bit to know that program XYZ received invalid data. It helps a lot to know that program ABC sent XYZ invalid data. Learn to use stack-tracing tools (for Perl, that'd be Carp.pm).
Perl and Regex Hacker
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.