Object-oriented design patterns in the Linux kernel (2011)
lwn.net
lwn.net
The difference between C and Lisp is that the latter allows you to extend the language in a way that essentially documents your technique in the same way C++ extends C to document its chosen techniques. If you saw the code in the article without having read this article and without suitable comments in the code, it would be really unclear what the programmer is actually doing.
After filling in the function pointers for reading and writing data, it suddenly dawned on me "hey, this is OO, but in C!".
It was a very influential moment and after that I've always tried to gain a deeper understanding of what's under the hood, so to speak.
So, while it has it's warts, OO in Perl is very easy to follow.
Edit: Maybe not pure Perl anymore? Would be VERY surprised if bless wasn't at the bottom though.