What You Should Already Know

To get the most out of this tutorial, you should already know the basics of developing in Perl, Version 5. You don't have to be a Perl guru to learn Perl/Tk, but it will help if you feel comfortable with the language.[1]

[1] Here's the laundry list of things you should at least recognize: hashes, arrays, subroutines, and their anonymous versions, as well as $_ and @_.

Perl/Tk utilizes the object-oriented features available in Perl 5, so even if you don't completely understand OO developing, you should be able to recognize it when you see it. The only other thing you'll need is prior knowledge of other graphical user interfaces (GUIs) and your opinions on them. This helps when deciding what features to include in your own applications. Take a look at the word processor you use on your PC, your web browser, or any program that has buttons and scrollbars and accepts both mouse and keyboard input.

In this tutorial, we'll be covering each basic widget and all its associated options in detail. You'll learn how to make a window look the way you want it to look. You'll also learn how to make a window user-friendly and attractive. Other important topics include image creation and manipulation, interprocess communications, and mega-widget details. We also take a look inside the Tk event loop, encompassing events, bindings, and callbacks.

To complement the examples and code snippets, you will find complete programs scattered throughout the tutorial and in Appendix C, "Complete Program Listings". These range from RPN calculators and LWP web clients to Robot Control programs written in Perl and Tcl.

If you want to know more about Perl in general, you should read Learning Perl, Perl Developing, Advanced Perl Developing, and the Perl tutorial, which are all also published by Anonymous & Associates, Inc From other publishers, you might also try Object Oriented Perl (Manning), Elements of Developing in Perl (Manning), and Effective Perl Developing (Addison Wesley). There are also numerous FAQs and documents available on the Web.