in reply to Some pre-project questions

You could use Inline::Java and/or Java::Swing (I wrote the later based on the former), if you wanted a Java Swing client.

There are many other options. You mentioned Tk, but you could try using wxWindows which is meant to be cross platform. You could probably also use Gtk or Qt, I think they've been ported to windows.

What you can put on CPAN depends on who is paying you for the work and what policy they set. We have open source infrastructure on CPAN, while keeping our actual apps completely proprietary (not that anyone would be interested in our idiosyncratic back office apps).

Phil