Inheritance is another way to go.
package Foo; our $count = 0; sub new { my $class = (ref($_[0]) ? ref(shift) : shift); $count++; return bless({ @_ }, $class); } package Bar; our @ISA = ('Foo'); sub new { my $self = SUPER::new(@_); #Anything unique to this class can now be applied to the object... return $self; }
I often use this approach when there are several attributes guaranteed to be present in all of the instances, such as the name of the creature or whatever. Also, thanks to inheritance, you can place any methods that all of these classes should support into the base class.
I hope this helps, I've only been awake for... about 3 minutes now, so my interpretation of your question may be a little... off...
Edit/Note: SUPER::new is a common trick used in many object oriented languages when the parent contstructor has code to take care of a lot of the setup work.
My code doesn't have bugs, it just develops random features.
Flame ~ Lead Programmer: GMS (DOWN) | GMS (DOWN)
In reply to Re: Creating Common Constructor
by Flame
in thread Creating Common Constructor
by DeadPoet
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |