#!perl -w =pod IP & Hostname GUI Program v .3 slojuggler =cut #use strict; use Socket; use Sys::HostIP; #For hostname use Sys::Hostname; my $ipaddr = hostip; print "Mine: $ipaddr \n"; my $hostnm = hostname(); print "Host $hostnm \n"; use Tk; my $mw = MainWindow->new; $mw->title("Your IP Info"); $mw->Label(-text=>"IP Address -> $ipaddr") ->pack(-fill => 'x', -side=>"top", -ipadx=>20); $mw->Label(-text=>"Hostname -> $hostnm") ->pack(-fill => 'x', -side=>"top"); $mw->Button(-text=>"Done!", -command=> sub { exit } ) -> pack (-side=>"bottom"); #Somehow pass the $mw to the do_toplevel routine, to keep in step with use strict #$mw->Button(-text=>"About...", -command=> \&do_toplevel + $mw arg somehow??? } ) -> pack (-side=>"bottom"); $mw->Button(-text=>"About...", -command => \&do_toplevel ) -> pack (-side=>"bottom"); MainLoop(); sub do_toplevel { #Somehow pick up the $mw by using something like the following? #my $tl = shift or whatever it takes to bring in the passed in var; ??? my $tl = $mw->Toplevel(); $tl->title("Aboutl"); $tl->Button(-text => "Close", - command => sub {$tl->destroy})->pack; $tl->waitWindow(); }