The problem was that, for some reason, your perl modules in /usr/lib/perl5/5.8.6/i686-linux/File/Spec/* were corrupt. I copied the clean ones from the /root/.cpan/build/perl-5.8.6/lib/File/Spec/ directory and then ran /scripts/rpmup several times until it ran clean. I also cleaned up the old perl installations and reinstalled exim (it gets all upset when you clean up perl and needs to be reinstalled). Restarted exim and spamd is up and running too.
If you find any odd problems coming up, I'd recommend that you do the following (might be a good idea anyway):
/scripts/upcp --force