Filsafat Perl cenderung "melakukan apa yang praktis sekarang." Jika Anda perlu menggunakan OOP, itu ada di sana. Itu tidak perlu dalam semua solusi dan memaksa seseorang untuk menulis kode OOP ketika itu sederhana "lakukan ini maka ini maka ini" masalah tipe sering kontra produktif.
Sifat multi-paradigma perl dapat dilihat dalam hal-hal seperti transformasi Schwartzian yang memiliki aspek yang sangat fungsional untuk itu (dalam Lisp itu dikenal sebagai "menghias-semacam-undecorate"). OOP ada, seperti halnya prosedural (pemrograman C like) dan imperatif (bash like "do this then this").
Pola Desain adalah solusi berulang untuk masalah umum. Mereka ada dalam setiap bahasa. Terkadang pola-pola ini disebut idiom, meskipun ini mungkin juga merujuk pada hal-hal yang jauh lebih sederhana daripada sebuah pola.
Bila perlu, banyak Pola Desain GOF klasik dapat diimplementasikan dalam perl. Pola Desain Perl akan memiliki banyak nama umum yang orang kenal dengan GOF. Tidak perlu jika mereka semua perl idiomatik.
Saat menjelajahi pola desain dalam perl, harap perhatikan "Pola Desain" Bukan oleh Mark Dominus .
Banyak yang menganggap bahwa Pola Desain adalah kekurangan dalam bahasa . Dalam perspektif itu, Pola Desain seperti Iterator seringkali tidak perlu dalam perl. Tidak selalu - tetapi sering.
Pertama, tulis perl idiomatik. Jangan mencoba menulis C di perl, atau lisp di perl, atau java di perl. Perl adalah perl. Jika ada masalah yang menjadi lebih besar daripada perl perl idiomatik dapat menangani dan Anda mulai membutuhkan struktur kelas yang lebih kompleks, kemudian tulis mereka. Ketahui pola desain untuk dapat mengenali "masalah ini sekarang telah berkembang ke titik membutuhkan pabrik abstrak" - tetapi jangan mulai mencoba membuat pabrik abstrak dalam perl jika Anda tidak membutuhkannya.
Beberapa perpustakaan ada dalam bentuk OOP dan lebih tradisional. Lihat Haruskah saya menggunakan antarmuka CGI yang berorientasi fungsi atau berorientasi objek? untuk pertanyaan SO lama di mana orang bertanya ke mana harus menggunakan perpustakaan.