Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022

ptksh (1)


ptksh - Perl/Tk script to provide a graphical user interface for testing Perl/Tk commands and scripts.


% ptksh  ?scriptfile?
... version information ...
ptksh> $b=$mw->Button(-text=>'Hi',-command=>sub{print 'Hi'})
ptksh> $b->pack
ptksh> o $b
... list of options ...
ptksh> help
... help information ...
ptksh> exit


PTKSH(1)                     perl/Tk Documentation                    PTKSH(1)

       ptksh - Perl/Tk script to provide a graphical user interface for
       testing Perl/Tk commands and scripts.

         % ptksh  ?scriptfile?
         ... version information ...
         ptksh> $b=$mw->Button(-text=>'Hi',-command=>sub{print 'Hi'})
         ptksh> $b->pack
         ptksh> o $b
         ... list of options ...
         ptksh> help
         ... help information ...
         ptksh> exit

       ptksh is a perl/Tk shell to enter perl commands interactively.  When
       one starts ptksh a MainWindow is automaticly created, along with a
       ptksh command window.  One can access the main window by typing
       commands using the variable $mw at the 'ptksh> ' prompt of the command

       ptksh supports command line editing and history.  Just type "<Up>" at
       the command prompt to see a history list.  The last 50 commands entered
       are saved, then reloaded into history list the next time you start

       ptksh supports some convenient commands for inspecting Tk widgets.  See

       To exit ptksh use: "exit".

       ptksh is *not* a full symbolic debugger.  To debug perl/Tk programs at
       a low level use the more powerful perl debugger.  (Just enter ``O tk''
       on debuggers command line to start the Tk eventloop.)

       Press <Up> (the Up Arrow) in the perlwish window to obtain a gui-based
       history list.  Press <Enter> on any history line to enter it into the
       perlwish window.  Then hit return.  So, for example, repeat last
       command is <Up><Enter><Enter>.  You can quit the history window with
       <Escape>.  NOTE: history is only saved if exit is "graceful" (i.e. by
       the "exit" command from the console or by quitting all main
       windows--NOT by interrupt).

   Debugging Support
       ptksh provides some convenience function to make browsing in perl/Tk
       widget easier:

       ?, or h
           displays a short help summary.

       d, or x ?args, ...?
           Dumps recursively arguments to stdout. (see Data::Dumper).  You
           must have <Data::Dumper> installed to support this feature.

           x was introduced for perl debugger compatibility.

       p ?arg, ...?
           appends "|\n" to each of it's arguments and prints it.  If value is
           undef, '(undef)' is printed to stdout.

       o $widget ?-option ...?
           prints the option(s) of $widget one on each line.  If no options
           are given all options of the widget are listed.  See Tk::options
           for more details on the format and contents of the returned list.

       o $widget /regexp/
           Lists options of $widget matching the regular expression regexp.

       u ?class?
           If no argument is given it lists the modules loaded by the commands
           you executed or since the last time you called "u".

           If argument is the empty string lists all modules that are loaded
           by ptksh.

           If argument is a string, ``text'' it tries to do a ``use

       Ptksh compiles into package Tk::ptksh.  Your code is eval'ed into
       package main.  The coolness of this is that your eval code should not
       interfere with ptksh itself.

   Multiline Commands
       ptksh will accept multiline commands.  Simply put a "\" character
       immediately before the newline, and ptksh will continue your command
       onto the next line.

   Source File Support
       If you have a perl/Tk script that you want to do debugging on, try
       running the command

         ptksh> do 'myscript';

          -- or  (at shell command prompt) --

         % ptksh myscript

       Then use the perl/Tk commands to try out different operations on your

       Looks for your .ptksh_history in the directory specified by the $HOME
       environment variable ($HOMEPATH on Win32 systems).

           If found in current directory it is read in an evaluated after the
           mainwindow $mw is created. .ptksh_init can contain any valid perl

           Contains the last 50 lines entered in ptksh session(s).

       It is best not to use "my" in the commands you type into ptksh.  For
       example "my $v" will make $v local just to the command or commands
       entered until <Return> is pressed.  For a related reason, there are no
       file-scopy "my" variables in the ptksh code itself (else the user might
       trounce on them by accident).

       Tk::MainLoop function interactively entered or sourced in a init or
       script file will block ptksh.

       See attributes(7) for descriptions of the following attributes:

       |Availability   | library/perl-5/perl-tk-532 |
       |Stability      | Volatile                   |

       Tk perldebug

       VERSION 2.03

       Mike Beller <beller@penvision.com>, Achim Bohnet <ach@mpe.mpg.de>

       Copyright (c) 1996 - 1998 Achim Bohnet and Mike Beller. All rights
       reserved.  This program is free software; you can redistribute it
       and/or modify it under the same terms as Perl itself.

       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from

       Further information about this software can be found on the open source
       community website at http://search.cpan.org/~srezic/Tk.

Tk804.036                         2013-11-18                          PTKSH(1)