in reply to checking if form field exists in WWW::Mechanize

WWW::Mechanize's field() function calls HTML::Form's value() function which croaks when the field doesn't exist. Without changing WWW::Mechanize (HTML::Form has a find_field function), you can always wrap your call in eval:
eval{ $agent->field('field_name', 'foo') }; if($@){ if($@ =~ /No such field/i){ print "Field missing: field_name\n"; }else{ print "Something else is wrong\n"; } }