Whatever you do, don't rewrite the validation part. Dave Rolsky has done a super job with Params::Validate. I use that thing every day it seems. It's like bread and butter.
Comment on Re: A Class:: module I don't want to write
I have already written and uploaded Class::BuildMethods. However, the validate key only points to a subref. You supply the validation code and Params::Validate is fine for that.