package Person;
use strict;
use warnings;
use base 'My::DBI';
__PACKAGE__->table( 'person' );
__PACKAGE__->columns( All => qw(person_id sex modified first_name last_name) );
####
package Person;
use strict;
use warnings;
use base 'My::DBI';
Person->table( 'person' );
Person->columns( All => qw(person_id sex modified) );
Person->has_many( names => 'PersonName' );
package PersonName;
use strict;
use warnings;
use base 'My::DBI';
PersonName->table( 'person_name' );
PersonName->columns( All => qw(person_name_id person_id first_name last_name) );
####
my $person = Person->retrieve( $person_id );
while ( my $name = $person->names ) {
printf "%s, %s\n", $name->last_name, $name->first_name;
}