use Tk; use Tk::Widget; #use Tk::WidgetDump; use Data::Dumper; use Storable; use B::Deparse; $Storable::Deparse=1; use Storable qw(freeze thaw); use Safe; #use strict; my $safe = new Safe; # because of opcodes used in "use strict": $safe->permit(qw(:default require)); local $Storable::Deparse = 1; local $Storable::Eval = sub { $safe->reval($_[0]) }; sub ShowLog { my $window; if(-e "mainwindow.store") {$window=retrieve("mainwindow.store");} if(!defined($window)) {$window = Tk::MainWindow->new();} if(defined($window)) { $window->Label(-text=>"Hello 1")->pack(); store \%{$window}, "mainwindow.store"; } MainLoop(); }