#!/usr/bin/perl use strict; use warnings; package Staff::DBI; use base 'Class::DBI'; Staff::DBI->connection('DBI:mysql:host="localhost";database="cdbi"', 'webdev', 'secret'); 1; package Staff::mitarbeiter; use base 'Staff::DBI'; Staff::mitarbeiter->table('mitarbeiter'); Staff::mitarbeiter->columns(All => qw/MID Vorname Nachname SID AID/); 1; package Staff::abteilung; use base 'Staff::DBI'; Staff::abteilung->table('abteilung'); Staff::abteilung->columns(All => qw/AID Abteilung/); Staff::abteilung->has_many(mitarbeiter => 'Staff::mitarbeiter'); 1; package Staff::standort; use base 'Staff::DBI'; Staff::standort->table('standort'); Staff::standort->columns(All => qw/SID Standortbezeichnung/); Staff::standort->has_many(mitarbeiter => 'Staff::mitarbeiter'); 1; # Class::DBI end here - main() is beyond this point package main; use Data::Dumper; my @staff = Staff::mitarbeiter->retrieve_all; print Dumper \@staff; exit;