use warnings; use strict; use Tk; use Tk::Dialog; my $mw = MainWindow->new(); my $dialog_setup = $mw->Dialog(-title => "My Window", -background=>"white",-buttons => [qw/Ok Quit/]); $dialog_setup->protocol('WM_DELETE_WINDOW', \&destroy_dialog); my $answer = $dialog_setup->Show(); if ($answer=~ /Ok/){ do_something();} MainLoop(); sub destroy_dialog { $dialog_setup ->destroy; }