vielen Jahren erinnere ich mich an einen Kerl Programmierer Beratung dies:Was ist der Unterschied zwischen der neuen Some :: Class und Some :: Class-> new() in Perl? Vor
new Some::Class; # bad! (but why?)
Some::Class->new(); # good!
Leider kann ich jetzt nicht den/seinen Grund mehr, warum. :(Beide Formulare funktionieren korrekt, auch wenn der Konstruktor nicht tatsächlich im Some :: Class-Modul existiert, sondern von einem Elternteil irgendwo geerbt wird.
Keine dieser Formen sind identisch mit Some :: Class :: new(), die den Namen der Klasse nicht als ersten Parameter an den Konstruktor übergibt - daher ist dieses Formular immer falsch
Auch wenn die beiden Formulare gleichwertig sind, finde ich Some :: Class-> new () um viel klarer zu sein, da es der Standardkonvention für den Aufruf einer Methode auf einem Modul folgt, und in Perl die 'neue' Methode nicht speziell ist - ein Konstruktor könnte irgendwas heißen, und new() könnte alles tun (obwohl Natürlich erwarten wir, dass es sich um einen Konstrukteur handelt.)
Eine weitere ausgezeichnete Referenz: [Indirekt aber immer noch tödlich] (http://www.shadowcat.co.uk/blog/matt-s-trout/indirect-but-still-fatal/) – Ether