I recently blogged about Ask, my new(ish) module for interacting with users via STDIN/STDOUT, a GUI, or whatever means possible.
Writing GUI code in Perl unfortunately requires you to compile non-core modules such as Gtk2, Wx or Tk. There is an alternative no-compilation-required approach though: most modern Linux and BSD distributions ship with (or at least package for separate download) a program called Zenity. Zenity is a tool for adding basic GUI dialogue boxes to shell scripts. You call it like this:
And it will display a standard file chooser. Once a file is chosen, Zenity will print the file path to STDOUT and then exit.
Ask provides Ask::Zenity, a wrapper around Zenity, and will fall back to that if Wx, Gtk2, Tk, etc are not available. However, none of this really addresses Windows…
So I’ve dug out an old copy of VB.NET and written a Zenity-like tool for Windows, called Wenity (I know, great name). Its functionality is mostly a subset of Zenity.
Wenity is now on CPAN as Alien-Wenity 0.000_01. I’d appreciate some Windows users testing this distribution to see how easy/successful it is to install.