1.4. Why Use Perl/Tk?

Have you ever tried to draw a window using so-called "native" facilities? If you do it in C, you'll end up with about 100 lines of code just to create a Hello World program, whether you use MS Windows or X Windows. This doesn't even include an Exit button that would allow you to quit the application nicely.

I have used several different methods to draw windows and create GUI applications throughout my programming life. Using the basic X Windows routines (such as X_Create_Line_from_x_to_y) is basically a drag. True, you have total control over every little detail, but then again, you have to control every little detail. Sometimes I like not knowing exactly how the button got drawn; it is enough for me to know that it did. (I drive a car, and don't exactly understand the intricate details of the combustion engine. I like that I can turn the key and succeed in my mission of driving to work.)

You have probably seen several books on Tcl/Tk. The problem with Tcl is that you have to program within the constraints of the Tcl language. I much prefer using a language that I already know really well and adding on to it.

Perl/Tk provides you with all the annoying little details. It handles the event loop. It handles drawing the 3D edges on your buttons (if you're not quite sure what I'm talking about, hang in there; I'll explain it all in due time). You can simply use the Perl language to "place a button here," which translates to real Perl as:

$mw->Button(-text => "Something")->pack(); ...

Get Learning Perl/Tk now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.