WWW::Mechanize::new(timeout=>15); #### wait until $mech->success; #### wait until $muck->success or $muck->status; if ($muck->status ne 200 ) //200 is HTML success { // do something } else { //do something else handle errors, sleep if page timeouts, recurse to try again, etc }