This kind of reloading trick (i.e. deleting a module from %INC and then requiring it again) is not foolproof and some modules just don't work with it. It looks like fields.pm doesn't like being run twice. You could add some code to clear %FIELDS in a BEGIN block, but that's pretty ugly. You could also tell Apache::Reload not to reload the modules you have that use fields.pm, but that could be a lot.