Triết lý của Perl có xu hướng là "làm những gì thiết thực bây giờ." Nếu bạn cần sử dụng OOP, nó ở đó. Không cần thiết trong tất cả các giải pháp và buộc một người phải viết mã OOP khi đó là một vấn đề kiểu "làm điều này sau đó thì điều này" thường phản tác dụng.
Bản chất đa mô hình của perl có thể được nhìn thấy trong những thứ như phép biến đổi Schwartzian có các khía cạnh rất chức năng của nó (trong Lisp, nó được gọi là "trang trí-sắp xếp-không trang trí"). OOP tồn tại, cũng như thủ tục (C như lập trình) và mệnh lệnh (bash như "làm cái này rồi cái này").
Mẫu thiết kế là giải pháp định kỳ cho các vấn đề phổ biến. Chúng tồn tại trong mọi ngôn ngữ. Đôi khi những mẫu này được gọi là thành ngữ, mặc dù điều này cũng có thể đề cập đến những thứ đơn giản hơn nhiều so với một mẫu.
Khi cần thiết, nhiều Mẫu thiết kế GOF cổ điển có thể được triển khai trong perl. Các mẫu thiết kế Perl sẽ có nhiều tên phổ biến mà mọi người quen thuộc với GOF. Không cần thiết trong trường hợp tất cả chúng đều là thành ngữ perl.
Khi khám phá các mẫu thiết kế theo perl, vui lòng lưu ý "Mẫu thiết kế" Không phải của Mark Dominus .
Nhiều người cho rằng các Mẫu thiết kế là sự thiếu sót trong ngôn ngữ . Theo quan điểm đó, các Mẫu thiết kế như Iterator thường không cần thiết trong perl. Không phải luôn luôn - nhưng thường xuyên.
Đầu tiên, viết thành ngữ perl. Đừng cố viết C bằng perl, hoặc lisp in perl hoặc java bằng perl. Perl là perl. Nếu có một vấn đề lớn hơn thành ngữ perl có thể xử lý và bạn bắt đầu cần các cấu trúc lớp phức tạp hơn, thì hãy viết chúng. Biết các mẫu thiết kế để có thể nhận ra "vấn đề này đã phát triển đến mức cần một nhà máy trừu tượng" - nhưng đừng bắt đầu thử tạo một nhà máy trừu tượng trong perl nếu bạn không cần.
Một số thư viện tồn tại trong cả OOP và các hình thức truyền thống hơn. Xem Tôi nên sử dụng giao diện CGI hướng đối tượng hoặc hướng đối tượng? cho một câu hỏi SO cũ trong đó người ta hỏi cách sử dụng thư viện.