SYNOPSIS use Class::GenSource qw(gen_class_source_code); say gen_class_source_code( name => 'My::Class', attributes => { foo => {}, bar => {}, baz => {}, }, ); Will print something like: package My::Class; sub new { my $class = shift; bless {@_}, $class } sub foo {} sub bar {} sub baz {} DESCRIPTION