Perl is not really like Java at all. Specifically, object oriented programming works differently. In Java, your constructor is always called "new", as you say. In Perl, any function that returns a blessed reference is considered a constructor, although most people will use "new" by convention. If you want to read up on OOP in Perl, Google for "perltoot".