package MPDatabase::Article; # ... set up table ... __PACKAGE__->has_a(authorId => 'MPDatabase::Author'); { no strict 'refs'; foreach my $m(MPDatabase::Author->columns()){ # keep from overriding existing methods... next if __PACKAGE__->can($m); # deploy shortcut sub *{$m} = sub { my $obj = shift; return $obj->authorId->$m(@_); }; } }