#!/usr/bin/perl use warnings; use strict; use Tk; my $MainWindow = MainWindow->new; $MainWindow->title("Data Entry Form"); # hide window to prevent a double flicker # it is raised later after it is built $MainWindow->withdraw; $MainWindow->fontCreate('big', -family=>'arial', -weight=>'bold', -size=> 18 ); my $NameOfPerson; # global variable $MainWindow -> Label(-justify => 'left', -bg => 'white', -font => 'big', -text => "Name of person : ") ->pack(-side => 'left',-anchor => 'n'); my $entry = $MainWindow -> Entry( -bg => 'white', -font => 'big', -selectborderwidth => 10) ->pack(-side => 'top',-anchor => 'n'); $entry->bind('',[\&somesub]); $entry->focus; $MainWindow -> Button(-text => "OK", -command => \&somesub) ->pack(-side => 'bottom',-anchor => 'center'); #centers window for popup #CenterWindow($MainWindow, 300, 200); CenterWindow($MainWindow); # show window now $MainWindow->deiconify(); $MainWindow->raise; MainLoop; #your script can continue here after Tk is done # ie after Mainwindow destroy is run while(1){print time."\t$NameOfPerson Your script continues here\n"; sleep 1;} sub somesub { $,="\n"; $NameOfPerson = $entry -> get; print "\nNameOfPerson ->$NameOfPerson\n"; $MainWindow -> destroy; } sub CenterWindow { my($window, $width, $height) = @_; $window->idletasks; $width = $window->reqwidth unless $width; $height = $window->reqheight unless $height; my $x = int(($window->screenwidth / 2) - ($width / 2)); my $y = int(($window->screenheight / 2) - ($height / 2)); $window->geometry("=${width}x${height}+${x}+${y}"); }