Wow! so here is still intelligent life in the programming world.
This is exactly right. OO coding techniques, UML, Use Cases etc. are (potentially!) useful TOOLS.
They are not the SOLUTION.
There are far too many big companies that think that these will allow cheap (inexperienced/poor) programmers to generate acceptable quality applications/code.
They may help, but the lack of experience and overall view and understanding of what they are trying to do (which you don't get from reading use cases) will bite in the end.
To the OP: What you learned with ALGOL (particularly if that included ALGOL68) and Pascal will stand you in good stead when using almost any of the currently used languages.
Perl is a little different. You can use your current styles, but to get the most out of it will require breaking out of the mold.
The basic principles of object oriented cod are relatively easy to understand.
Thinking in OO style is difficult for someone from a functional language background, but not impossible.
OO programmers that have never known anything else tend not to see how that distorts their view to make the problem fit the paradigm, and how that is not a good thing.
Java is superficially easy, but has so many contortions to make reality match what they want to achieve in the language that it becomes somewhat hard to learn.
C# is a Microsoft honey trap. Avoid.