Inline::Java makes many things possible. I have used it in conjunction with JDBC.pm to write a portable sql command line application (search for sqlpj on github). Writing the interface in Perl was a breeze, and allowed a much more feature rich environment, like dynamically generating calls to explore the JDBC metadata for virtually any database, and generating XML output for query results. Patrick has been a big help and helped me track down a problem in JDBC caused by a change in the way Perl handles ISA (inheritance) in Perl 5.10.0.
Highly recommended for anyone who needs to take advantage of the thousands of Java api's out there in the wild. In the case of JDBC, just drop the vendor's jar in your classpath and you're off and running.
The only problem I've had is in catching interrupts on the Perl side and dealing with the disconnect with the Java server, interrupting the server in mid stream. However, that is a minor problem and perhaps an area for future enhancement.
That's a wonderful module. I was able to access a large Java library and build Perl bindings for it (Net::RabbitMQ::Java). Docs are very complete. Inline::Java is something Perl developers should really be aware of, because it's a bridge to the large pool of Java classes available out there; that's very useful when CPAN modules aren't enough. Keep up the good work!
I recently used this to build the Java::JCR interface. Excellent module all around. This module made just a few hours this weekend very productive. The only hiccups I experienced were resolved by learning more about the module rather than tearing my hair out and working around problems I found. It's very nice indeed.