#!perl use strict; use warnings; use Tk; my $mw = tkinit(); my $toplevel = $mw->Toplevel(); $mw->Button(-text => 'show/hide', -command => [sub{ show_hide(@_); }, $toplevel],)->pack(); $mw->MainLoop(); sub show_hide { my $toplvl = shift; if( $toplvl->viewable ) { print "hide widget\n"; $toplvl->UnmapWindow(); }else{ print "display widget\n"; $toplvl->MapWindow(); } } # /show_hide