if ( $obj->validate($q->param('new_userid')) ) { create_new_user( $q->param('new_userid')) } else { # tell the user why it was invalid and ask again send_reprompt( "UserID was not valid for the following reasons:" $obj->error ); } #### eval { $obj->get_stuff_a() }; if ($@) { $obj->try_a_backup() } eval { $obj->get_stuff_b() }; if ($@) { $obj->try_b_backup() } eval { $obj->get_stuff_c() }; if ($@) { $obj->try_c_backup() } #### $obj->get_stuff_a() || $obj->try_a_backup || die $obj->error; $obj->get_stuff_b() || $obj->try_b_backup || die $obj->error; $obj->get_stuff_c() || $obj->try_c_backup || die $obj->error; my @err = $obj->error; if (@err) { warn 'Had to use one or more backup sources because:'."\t\n" .join("\t\n", @err)."\n"; }