間接オブジェクト構文
ttp://perldoc.jp/docs/perl/5.8.8/perlobj.pod#Indirect32Object32Syntax

new Hoge 'foo', 'bar';
Hoge->new('foo', 'bar');

普通にメソッドを定義すればよく、呼び出す時の書き方が違うだけ