How the language it typed doesn't matter! You are testing the object. That means you check that the proper values are returned when a sequence of interfaces are called. Or you make sure that the objects writes to the database, or whatever else you have your object doing. What you aren't doing is mixing random bits of Java and perl. As long as you use object, and access the objects through the interfaces, it doesn't matter what language the object or testing program is in.
Look at how well OLE works with perl. A COM/DCOM object is strong typed, but perl is able to call it without problems. There are many production perl scripts that use OLE because it works well. After showing other developers who write COM/DCOM objects how to test them with perl, most of them choose to use perl for their testing (it save a lot of time). Most of these people had fears about testing their COM/DCOM object with perl, but after see how it works and playing with it, those fears have subsided.
I know some people don't like the idea of using several languages at the same time, but there are huge time and maintainability savings to be had when using the right language for the job. I'm personally looking forward to Parrot for it's ability to run Java, .Net, and perl on the same VM, and make it much easier to use objects from other languages.