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] |
I guess it's different if you are used to using "indirect object" notation for Class Methods. Not just constructors, but all of them.
| [reply] |