This is my first post. I’ve been a Visual Studio C++ C# programmer for years and I am just getting started with Perl. I’m using Strawberry Perl and Eclipse and I’ve completed my first partial program, the ability to screen scrape stock quotes from yahoo:

Calls the GetWeb.pm package I wrote and returns a hash of the stocks and their current prices.

The problem is that the stocks have to be hard coded. I can easily write a “Console Application” interface in Perl, but I want to run the entire process as a “Forms Application” (Sorry for using visual studio terminology).

When I look online I see a number of ways to do this with Perl, different packages to download, my question is which one is the best? And why?

Re: [PapaGeek] What is the best Perl GUI package for Windows7?
[In reply to]

Can't Post

Code

c:\>perldoc -q guiFound in C:\strawberry\perl\lib\perlfaq3.pod How can I write a GUI (X, Tk, Gtk, etc.) in Perl? (contributed by Ben Morrow)

There are a number of modules which let you write GUIs in Perl. Most GUI toolkits have a perl interface: an incomplete list follows.

Tk This works under Unix and Windows, and the current version doesn't look half as bad under Windows as it used to. Some of the gui elements still don't 'feel' quite right, though. The interface is very natural and 'perlish', making it easy to use in small scripts that just need a simple gui. It hasn't been updated in a while.

Wx This is a Perl binding for the cross-platform wxWidgets toolkit ( <http://www.wxwidgets.org> ). It works under Unix, Win32 and Mac OS X, using native widgets (Gtk under Unix). The interface follows the C++ interface closely, but the documentation is a little sparse for someone who doesn't know the library, mostly just referring you to the C++ documentation.

Gtk and Gtk2 These are Perl bindings for the Gtk toolkit ( <http://www.gtk.org> ). The interface changed significantly between versions 1 and 2 so they have separate Perl modules. It runs under Unix, Win32 and Mac OS X (currently it requires an X server on Mac OS, but a 'native' port is underway), and the widgets look the same on every platform: i.e., they don't match the native widgets. As with Wx, the Perl bindings follow the C API closely, and the documentation requires you to read the C documentation to understand it.

Win32::GUI This provides access to most of the Win32 GUI widgets from Perl. Obviously, it only runs under Win32, and uses native widgets. The Perl interface doesn't really follow the C interface: it's been made more Perlish, and the documentation is pretty good. More advanced stuff may require familiarity with the C Win32 APIs, or reference to MSDN.

CamelBones CamelBones ( <http://camelbones.sourceforge.net> ) is a Perl interface to Mac OS X's Cocoa GUI toolkit, and as such can be used to produce native GUIs on Mac OS X. It's not on CPAN, as it requires frameworks that CPAN.pm doesn't know how to install, but installation is via the standard OSX package installer. The Perl API is, again, very close to the ObjC API it's wrapping, and the documentation just tells you how to translate from one to the other.

Qt There is a Perl interface to TrollTech's Qt toolkit, but it does not appear to be maintained.

Athena Sx is an interface to the Athena widget set which comes with X, but again it appears not to be much used nowadays.

I've only used Tk, and that was a number of years ago. If you want a windows specific gui framework, then I'd probably suggest using Win32::GUI. However, I don't think its had any updates since 2008, so it may be on its way out.