很多年前,我記得有一個傢伙程序員輔導這樣的:Perl中的新Some :: Class和Some :: Class-> new()有什麼區別?
new Some::Class; # bad! (but why?)
Some::Class->new(); # good!
可悲的是,現在我不記得/他的原因。 :(即使構造函數實際上不存在於Some :: Class模塊中,但兩種形式都能正常工作,而是從某處父級繼承。
這兩種形式都與Some :: Class :: new (),它不會將類的名稱作爲第一個參數傳遞給構造函數 - 所以這個表單總是不正確的
即使這兩種形式是等價的,我發現Some :: Class-> new )更加清晰,因爲它遵循調用模塊方法的標準約定,而在perl中,'new'方法並不特殊 - 構造函數可以被調用任何東西,而new()可以做任何事情(儘管當然我們一般都會期望它是一個構造函數)
另一個很好的參考:[間接但仍然致命](http://www.shadowcat.co.uk/blog/matt-s-trout/indirect-but-still-fatal/) – Ether 2010-06-22 20:49:21