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.
|
|---|