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

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

Shavenheads, I run a script regularly that crawls my various websites checking for bad links. Last night my internet connection was down and rather than just producing an error and carrying on to the next part of the script which does a whole of other useful things too, the whole script crashed. viz:

Error GETing http://www.website.com/images/billiards/brass-cross-rest- +head-PER-033.jpg: Can't connect to www.website.com:80 (Bad hostname ' +www.website.com') at nightlychecks.pl line 2346 at C:/Perl/lib/WWW/Mechanize.pm line 2705 WWW::Mechanize::_die('Error ', 'GET', 'ing ', 'URI::http=SCALAR(0x +93515dc)', ': ', 'Can\'t connect to www.website.com:80 (Bad hostname +\'www...') called at C:/Perl/lib/WWW/Mechanize.pm line 2692 WWW::Mechanize::die('WWW::Mechanize=HASH(0x934eda4)', 'Error ', 'G +ET', 'ing ', 'URI::http=SCALAR(0x93515dc)', ': ', 'Can\'t connect to +www.website.com:80 (Bad hostname \'www...') called at C:/Perl/lib/WWW +/Mechanize.pm line 2340 WWW::Mechanize::_update_page('WWW::Mechanize=HASH(0x934eda4)', 'HT +TP::Request=HASH(0x9643efc)', 'HTTP::Response=HASH(0x93531bc)') calle +d at C:/Perl/lib/WWW/Mechanize.pm line 2206 WWW::Mechanize::request('WWW::Mechanize=HASH(0x934eda4)', 'HTTP::R +equest=HASH(0x9643efc)') called at C:/Perl/lib/LWP/UserAgent.pm line +389 LWP::UserAgent::get('WWW::Mechanize=HASH(0x934eda4)', 'http://www. +website.com/images/billiards/brass-cross-rest...') called at C:/Perl/ +lib/WWW/Mechanize.pm line 407 WWW::Mechanize::get('WWW::Mechanize=HASH(0x934eda4)', 'http://www. +website.com/images/billiards/brass-cross-rest...') called at nightlyc +hecks.pl line 2346 main::webpage_assign_check() called at nightlychecks.pl line 560 main::run_report('HASH(0x6fb523c)') called at nightlychecks.pl lin +e 289 main::nightly_checks() called at nightlychecks.pl line 86

How can I make www::mechanize produce an error gracefully rather than just pegging out horrifically? The www::mechanize documentation doesn't enlighten me...