in reply to Best method of assigning "default" values?
I would take a look at Params::Validate, Params::Smart (shameless plug ;) or one of the many other Params::* modules to do the work of setting default values as well as validating then.