Egy osztályban csak a metódusok öröklésére van támogatás az @ISA tömbbön keresztül. Ez egy modul neveket tartalmazó tömb. Ha egy metódust nem található meg az aktuális package-ban, akkor az ebben a tömbben felsorolt modulok lesznek bejárva a hiányzó alprogramért. Ez egy mélységi keresés lesz. Ha itt sem talál semmit, és van egy AUTOLOAD nevű függvény, akkor megpróbálja ezzel előszedetni a hiányzó eljárást. Ha ez a lehetőség sem járt sikerrel, akkor egy UNIVERSAL-nak nevezett modulban fog keresgélni a rendszer.
Az @ISA tömb szépsége az, hogy menet közben is lehet módosítani, azaz menet közben megváltoztathatjuk egy osztály leszármazási fáját! Nyilvánvalóan az adattagok öröklésére is szükség van egy objektum-orientált nyelvben, ez a Perlben az @ISA tömb segítségével megvalósítható.
package A; sub new { my $type = shift; my $self = {}; $self->{'a'} = 42; bless $self, $type; } package B; @ISA = qw( A ); # A a B ősosztálya sub new { my $type = shift; my $self = A->new; $self->{'b'} = 11; bless $self, $type; } package main; $c = B->new; print ,,a = '', $c->{'a'}, ,,\n''; print ,,b = '', $c->{'b'}, ,,\n'';