# Klasse f package f; # Attribut '$eins' ist eine Arrayreferenz $eins=[1,([2,3],4),5]; # Konstruktor # bless ohne Angabe einer Klasse macht es automatisch # bless {}, __PACKAGE__ # gibt ein Objekt zurück sub new {bless{} ;}; # $eins->[2] ist eine Dereferenzierung # siehe http://wiki.perl-community.de/bin/view/Perldoc/perlreftut sub u {return $eins->[2]}; #==============================================================================# # Klasse g package g; # mit @ISA legt man die Superklassen fest # zum Lesen empfohlen: http://wiki.perl-community.de/bin/view/Perldoc/perlboot @ISA=f; @k=(6,7,(8,9),0); # Konstruktur der Klasse g sub new {bless{} }; sub v {$f::eins->[2]=@k;} #==============================================================================# # "Hauptprogramm" package main; # erzeuge ein Objekt von 'g' $p=g->new; # $objekt -> methode ruft 'methode' vom Objekt auf print $p->u; # Zugriff auf ein Attribut der Klasse g print "$g::k[3]4"; $p->v; print $f::eins->[2]->[3];