In my opinion, Unified Modeling Language (UML) is useful only for really large projects where object relationships must
be clearly defined from the very beginning. In (my) reality, object relationships change. (This is quite contrary to the opinion of my computer science department
, where they require UML diagrams for even the simplest projects. I'm talking Java programs that draw a square to the screen.)
I personally don't do any projects that justify the use of UML--in any language. Nonetheless, I found ArgoUML, which appears to be an open source UML development tool written in Java. You might be able to extend it to generate Perl code skeletons (it claims to be "modular and extensible").
Hope this helps.