#! perl -slw use strict; use threads; use threads::shared; use Thread::Queue; use LWP::UserAgent; sub t { my $Q = shift; while( $Q->dequeue ) { my $ua = LWP::UserAgent->new; my $response = $ua->get( 'http://www.mektek.net/mekmatch/listServersRss.mkz' ); my $rss = $response->decoded_content if $response->is_success; print $rss if $rss; print "done1"; } } my $Q = new Thread::Queue; my $thread = threads->create( \&t, $Q ); require Win32::GUI; my $mw = Win32::GUI::Window->new( -width => 1000, -height => 800, -title => "Test", -name => "Test", -onTimer => sub { $Q->enqueue( 1 ); } ); my $use_up_some_memory = "x" x (1024 * 1024 * 20); $mw->AddTimer( "T1", 5000 ); $mw->Show; Win32::GUI::Dialog(); $Q->enqueue( undef ); $thread->join;