But how many of you have a check to find when named arguments are passed in that are not on the list of allowed arguments? I do that, and frequently catch errors where I pass in baz and should have passed in bar.
Generally, I don't. But then I often write code that looks like:
sub foo {
bar(@_); # Needs parameters key1, key2, key3;
baz(@_); # Needs parameters key3, key4;
... use key2, key4 and key5 ...
}
Now, if bar() and baz() would balk at extra parameters, I'd have to write more code. And change all calls to baz() if baz() is modified to do something with key1 as well.
Now, I understand your concerns, and I share the opinion that when you're using hash keys, you basically throw away all the goodness strict gives you. Therefore, I often put all key names into variables (constants) and use the variable name as key (although I'm lazy more than once and don't always follow this good practice).
-
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>
<u> <ul>
-
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
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|