use threads; use threads::shared; #setup thread code before any Tk code my $thread_data1 : shared; $thread_data1; my $thread_die1 : shared; $thread_die1 = 0; my $thread_go1 : shared; $thread_go1 = 0; my $thread1 = threads->new(\&work); my $thread_data2 : shared; $thread_data2; my $thread_die2 : shared; $thread_die2 = 0; my $thread_go2 : shared; $thread_go2 = 0; my $thread_user2 : shared; $thread_user2; my $thread_pass2 : shared; $thread_pass2; my $thread2 = threads->new(\&setconn); use Time::HiRes; use Tk; use Tk::Icon; use Tk::TopLevel; #use Tk::ProgressBar; use utf8; use Win32; use Win32::TieRegistry; use Win32::OLE('in'); use Win32::OLE qw(EVENTS); use Net::UPnP::ControlPoint; use Net::Telnet; use POSIX":sys_wait_h";