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.
In reply to Re: P248 programming perl
by adrianh
in thread P248 programming perl
by wackattack
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |