O'Reilly logo

Mastering Perl/Tk by Nancy Walsh, Stephen Lidie

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

pTk Special Variables and Exporter Symbols

Before we get to the interesting stuff, we need to list the special variables and symbols unique to Perl/Tk.

Global Variables

These global variables are available for your use:

$Tk::VERSION

The Perl/Tk version, which incorporates the Tcl/Tk version it’s based upon, plus the Perl/Tk subrelease number. '800.023' is the 23rd Perl/Tk release based on Tcl/Tk 8.0. '803.xxx' will be based on Tcl/Tk 8.3.

$Tk::library

The pathname where the Tk modules are installed; for example: /usr/local/lib/perl5/site_perl/5.6.0/i686-linux/Tk.

$Tk::platform

The platform, which is 'MSWin32' for Win32 machines, otherwise 'unix'.

$Tk::version

The base Tcl/Tk version, for example '8.0'.

$Tk::patchLevel

The Tcl/Tk patch level, for example '8.0'.

$Tk::strictMotif

A flag to force Tk to use pure Motif style windows.

Symbols Exported by Default

The use Tk statement exports these subroutines by default:

DoOneEvent

Handles Tk events. See Chapter 15.

Ev

Used in callback definitions to delay argument evaluation. See Chapter 15.

exit

Overrides Perl’s CORE::exit to clean up Tk data structures.

Exists($widget)

Ensures that $widget is a valid Perl/Tk widget reference.

MainLoop

Starts the Tk event loop.

tkinit(@args)

Shorthand for MainWindow->new(@args).

Optionally Exported Symbols

You can import these symbols if desired:

catch

Executes a block of code, trapping and ignoring any errors. The code should be enclosed in a Perl block: catch {$widget->cget(-state)} ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required