sub MyApiCall { open ... or die ... } sub UserInterface { Beginning() or die "nothing to do "; while( NextPiece() ){ eval { MyApiCall (...) ; 1 } or warn "Whooops, trying next one"; } }