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; }