I object to those "always" you are using in your list. You wouldn't be
able to create useful modules like Exporter and Memoize, if you always
had to use strict. Same with warnings. Perl generates warnings if it
things the programmer makes an error. But sometimes, Perl is wrong.
The right thing to do is turn warnings off, instead of having to go
through hoops to satisfy Perl.
As for point 3, I couldn't agree less. CGI.pm is a monster,
doing far more than just CGI (come on, producing HTML shouldn't be a
part of a module calling itself CGI). In the rare cases I do any CGI
programming, I tend to avoid it like the plague.
As for you tab issue, it's a good example why tabs should be avoided.
Your example indicates a tabwidth of 4. Any idea how that's going to
look like on a terminal with a default tabstop of 8? Sure, the left
indents will all be lined up, but can you garantee none of the lines
will exceed 80 characters? Any idea what's going to happen if one
of the tabs is replaced by 4 spaces, and someone using tabstops of 8
is going to view it? It won't align correctly anymore.
Tabs are evil. The savings in disk space and I/O might have been
significant 30 years ago, but they aren't nowadays. With spaces,
the indentation will always look the way the author intended it
to be (given fixed width fonts). With tabs, it will only look right
if all authors and viewers used the same tabstops.
Abigail
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
|
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.