Class::AccessorMaker generate common accessor method with default values. #### With constructor package Users; use Class::AccessorMaker { username => "guest", password => "", role => "guest", groups => [ "guest" ] }; package main; my $usr = Users->new(username => $uname, password => $pw); With init constructor package MailThing; use Class::AccessorMaker { to => "", from => "hartog\@2organize.com", cc => "", bcc => "", bounce => "" }, "new_init"; sub init { my ($self) = @_; ... } package main; my $mlr = MailThing->new(); Without constructor package HitMan; use Class::AccessorMaker { victim => "", location => "", data => {} }, "no_new"; sub new { my $class = ref($_[0]) or $_[0]; shift; return bless({}, $class); } package main; Of course the first example describes some sort of user system, which assumes you are a guest by default. The second example is some sort of mailer-object. And the third is used by a lot of serial killers out there... #### The AccesorMaker takes in, at use-time, a hash-reference and an extra keyword. It uses the keys of the hash-reference to create accessor-methods in the namespace of the caller. The values that are given to the keys are the default value of the accessor. Class::AccessorMaker will create a constructor (called "new()") by default. This constructor will be able to take that nice and shiny hash-like structure as you can see in the first example. If you want your constructor to run your objects "init()" routine you can specify the keyword "new_init". If you want to write your own "new()" routine you can use "no_new". #### This module is still under some sort of development, and I am expecting to release things like ReadOnly / WriteOnce accessor methods in the near future. I alredy have Class::AccessorMaker::Private out there for you, which could prove to be very usefull for you. #### Please do not put those perl-reserved names in there like DESTROY, import, AUTOLOAD, and so on. It will hurt you badly. Q: "But why do you not filter those?" A: "This is perl baby, you can do whatever you like..." And besides, there is going to be someone out there who is actualy going to put it to good use... #### Hartog 'Sinister' de Mik