Just an observation.
grinder's
remark about the perils of calling functions with ampersand, such as
&foo versus
foo() got me thinking
"Do people still use ampersand calls?" But I figured that was just me being silly. Of course they don't.
Then, just moments later, I find a living, breathing example. Yikes.
Anyway, the "one parameter" rule is kind of absurd. Sometimes a function needs to know a lot of things to get the job done, sometimes nothing. Any language which strictly mandated One Argument Only is probably stack based anyway, or is just an exercise in programmer abuse.
Passing anonymous hashes around is fine and all, but sometimes it breaks down, and when that happens, it can get really, really bad. What if you want to merge parameters, or filter them? Imagine the pain, the agony, the disgusting things you would have to do.
format_string({foo => 'bar', %$set1, %$set2, format => $set3->{format}});
That seems to be just the tip of the iceberg.
Hash-style parameters, though, are fun. Just look at
CGI.
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.