on every eval() is always set on failure and cleared on success
It gets cleared every time an eval block is run. It is certainly within WWW::Mechanize's rights to use an eval. If you need it to be persistent across a call to reload, you should be able to localize the variable (untested):
do{ eval{ $browser->get('http://www.example.org/?node=whatever'); }; if($@){ print "WARNING: $@"; local $@; $browser->reload(); #kills if-level $@, but not do-level $@ } }while($@);
In reply to Re: when do $@ get cleared ?
by kennethk
in thread when do $@ get cleared ?
by odrevet
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |