Perl unterstützt objektorientierte Programmierung. Mit Perl kann die objektorientierte Entwicklungsdisziplin eingehalten werden durch:
Pakete werden in Dateien abgelegt, die über die Verzeichnisstruktur ihre Klassenhierarchie erhalten.
Während C++ statische und virtuelle Methoden kennt, verfügt Perl ausschließlich über Klassenmethoden und Objektmethoden, die durch ihre Verwendung unterschieden werden. Aus dieser Sicht sind alle Perl Methoden virtuell. Perl Klassen können dagegen nicht nur als Typdefinition, sondern auch als Metaobjekt betrachtet werden, da sie Ähnlichkeit mit einem Objekt haben.