in reply to Re: Re: Checking for Valid Dates
in thread Checking for Valid Dates
Altough the ampersand is not mandatory, I use it, in order to read my code easier. In my opinion it belongs to the structured perl programming style.
I would disagree. I think it is clumsy, confusing, needless and potentially problematic:
From perlfaq7:
What's the difference between calling a function as &foo and foo()?
When you call a function as `&foo', you allow that function access to your current @_ values, and you by-pass prototypes. That means that the function doesn't get an empty @_, it gets yours! While not strictly speaking a bug (it's documented that way in the perlsub manpage), it would be hard to consider this a feature in most cases. When you call your function as `&foo()', then you do get a new @_, but prototyping is still circumvented. Normally, you want to call a function using `foo()'. You may only omit the parentheses if the function is already known to the compiler because it already saw the definition (`use' but not `require'), or via a forward reference or `use subs' declaration. Even in this case, you get a clean @_ without any of the old values leaking through where they don't belong.
Tony
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
(tye)Re2: Checking for Valid Dates
by tye (Sage) on Jan 05, 2001 at 22:38 UTC | |
by salvadors (Pilgrim) on Jan 06, 2001 at 16:06 UTC |