in reply to OO and Perl

There are lots of abused buzzwords in this business, and “OO” is one of the worst.   You can’t “just use the word” in conversation and assume that the person to whom you are speaking has the same meaning for that word.

I think it’s also worth mentioning that “studying real world objects and teir relationship” is ... a useful metaphor, but one that only goes so far, such that it can easily be taken too far.   It can become a religion.   You can cling to it to the point that, having written a chunk of code and now coming back to look upon it later, you can no longer (readily) say exactly what it does.   You can write code that becomes un-maintainable in actual practice because of a web of “inherited” and “mixed-in” behaviors that tie everything together like a gigantic ball of string.   As you study these topics, stay well grounded.