In order for your
retry function to report its status back to the window, you'll need to give it a
callback function, or simply pass a reference to the window itself. Assuming
retry is called from, say a button push, then you could pass
$fr1 to it as a parameter, e.g.
retry($ua, $url, $fr1);
...
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);
$fr1->Label(-text=>'Download failed: ' . $request->status_line
+, -background=>'yellow', -foreground=>'red')->pack(-fill=>'y');
.....
NOTE: untested.
You get the idea. Any object you can pass to retry you can mess with in the function itself.
However I would prefer passing retry a code reference which it can call with a status message. That way, it could report its status to anything; a GUI, a Curses interface, etc, depending on what that callback sub does.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.