Nonononono. This is one reason why the indirect syntax is bad. You want to use the new function provided by the CGI package, right? Then, instead of forcing Perl to do your thinking for you, think for yourself!
my $cgi = CGI->new;
Tell Perl which new function you want to use!
------ We are the carpenters and bricklayers of the Information Age. Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement. | [reply] [d/l] |
| [reply] |
Yes, new CGI:: is the exact same as CGI->new, in terms of the interpreter.
However, how do you explain to someone that every single method call you make uses the '->' syntax ... except for the constructor, which doesn't, but instead starts using this (seemingly) random '::' syntax. This isn't the most maintainable concept. What happens if you forget to put the second ':'? The difference between ':' and ';' isn't entirely obvious to a casual glance. In addition, as ':' and ';' are on the same key, mistyping problems are multiplied.
Essentially, what this boils down to is "Wow, that's a neat way of doing things. I didn't know I could do that. But, why on earth would I want to obfuscate my production code?"
------ We are the carpenters and bricklayers of the Information Age. Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.
| [reply] [d/l] [select] |