NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
Error reporting is not enough (Score:1)
Two::two { (foo => 'bar', baz => 'quux') }as an indirect call is not something that comes to the mind of the programmer. What that indirect call does, whether it is an error or not, is always something unexpected.Been bitten by this many times (Score:1)
I work heavily with an old OO system where this syntax bit us several times with some very hard-to-diagnose bugs. Switching project-wide to direct syntax fixed a ton of these.
Yes, you can probably use this if you are careful and know what you are doing, but the problem I found is many devs don't know about the problems with it (or willingly ignore it). To me it's just easier to code defensively in this case and stick with direct syntax.