package Person; use strict; use warnings; use _Person; sub read { my $self = shift; my $id = shift || []; return [] unless ( $id ); my @objects = (); my $stRead = $dbh->prepare('SELECT person_id, firstname, lastname FROM person WHERE person_id IN (' . join(', ', @{$id}) . ')'); $stRead->execute(); while ( my ($person_id, $firstname, $lastname) = $stRead->fetchrow() ) { my $Person = _Person->new(person_id => $person_id, firstname => $firstname, lastname => $lastname); push( @objects, $Person ); } $stRead->finish(); return ( wantarray ) ? @objects : pop( @objects ); } 1;