http://qs321.pair.com?node_id=374252

dannoura has asked for the wisdom of the Perl Monks concerning the following question:

hi,

I'm trying to construct a GUI for a web client I have. The web client already works, and I can code the GUI, but I can't figure out how to tie them together. For example I have a retry sub which tries to load the webpage again in case of failure. I'd like it to report its status to the GUI window. The code for the GUI and the sub is below:

######## Tk stuff ######## my $mw=new MainWindow; $mw->minsize(qw(250 150)); $mw->title(" Tk Test 1 "); my $body=$mw->Frame(-background=>'cyan')->pack(side=>'bottom', -fill=> +'x'); my $fr1=$body->Frame(-background=>'magenta')->pack(side=>'top', -fill= +>'x'); $fr1->Label(-text=>'Hi', -background=>'yellow', -foreground=>'red')->p +ack(-fill=>'y'); # This label is where I want the status line to go t +o MainLoop(); ######## web client stuff ######## sub retry { # Retry downloading page in case of failure my $ua=shift; my $url=shift; for (my $i=1; $i<101; $i++) { sleep 5; # Delay my $request= $ua->request(GET "$url"); return $request if ($request->is_success); print "Download failed: ", $request->status_line, " Retrying $ +i... \n"; # I'd like all the print statements to go to the label die ("Download failed: ", $request->status_line) if ($i==101) +; } }

Can anyone give me any ideas?

-----------------------------------

Any comments about coding style are welcome.