This is a very old article. It has been imported from older blogging software, and the formatting, images, etc may have been lost. Some links may be broken. Some of the information may no longer be correct. Opinions expressed in this article may no longer be held.
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:
zenity --file-selection
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.