in reply to P248 programming perl

I've always had a huge problem trying to grasp the concept of an object constructor. I know what an object is but what exactly is the "new" doing? Just allocating a different block of memory?

new() is just a subroutine like any other. In Perl 5, unlike some other OO languages, the name of the object constructor isn't important. All you need for an object constructor is a subroutine that returns a blessed reference. So in the following both new() and fribble() are object constructors:

package Foo; sub new { my $class = shift; return bless { @_ }, $class; } sub fribble { my $class = shift; return bless { @_ }, $class; }
A large portion of the code in this book doesn't work when you simply slap it in a perl script. :-( That is not good for someone trying to learn the language.

Then get another book :-) I'd take a look at http://learn.perl.org/ for some recommendations.