in reply to Weird eval behavior...

Mmm, tasty closures:
no strict 'refs'; for (@attribute_list) { *{ $package . "::get$_" } = sub { $_[0]->get($_); }; }
Yeah, that's the heart of several modules on CPAN. I want to say Class::Accessors, but it may not be exactly what you're looking for.