Query: package::new
OS: debian
Section: 3pm
Links: debian man pages all man pages forum categories
Format:Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
Package::New(3pm) User Contributed Perl Documentation Package::New(3pm)NAMEPackage::New - Simple base package from which to inheritSYNOPSISpackage My::Package; use base qw{Package::New}; #provides new and initializeDESCRIPTIONThe Package::New object provides a consistent constructor for objects. I find that I always need these two methods in every package that I build. I plan to use this package as the base for all of my CPAN packages.RECOMMENDATIONSSane defaults I recommend that you have sane default for all of your object properties. I recommend using code like this. sub myproperty { my $self=shift; $self->{"myproperty"}=shift if @_; $self->{"myproperty"}="Default Value" unless defined $self->{"myproperty"}; return $self->{"myproperty"}; } use strict and warnings I recommend to always use strict, warnings and our version. package My::Package; use base qw{Package::New}; use strict; use warnings; our $VERSION='0.01'; Lazy Load where you can I recommend Lazy Loading where you can. sub mymethod { my $self=shift; $self->load unless $self->loaded; return $self->{"mymethod"}; }USAGECONSTRUCTORnew my $obj = Package::New->new(key=>$value, ...); initialize You can override this method in your package if you need to do something after construction. But, lazy loading may be a better option.BUGSLog on RT and contact the author.SUPPORTDavisNetworks.com provides support services for all Perl applications including this package.AUTHORMichael R. Davis CPAN ID: MRDVT DavisNetworks.com http://www.DavisNetworks.com/COPYRIGHTThis program is free software licensed under the... The BSD License The full text of the license can be found in the LICENSE file included with this module.SEE ALSOBuilding Blocks base, parent Other Light Weight Base Objects Similar to Package::New Package::Base, Class::Base, Class::Easy, Object::Tiny Heavy Base Objects - Drink the Kool-Aid Moose, (as well as Moose-alikes Moo, Mouse), Class::Accessor, Class::Accessor::Fast, Class::MethodMaker, Class::Meta Even more Spiffy, mixin, SUPER, Class::Trait, Class::C3, Moose::Role perl v5.14.2 2011-12-03 Package::New(3pm)