in reply to building perl
In general, perl strives to have a static binary interface. If you're using another perl 5.8.8 or 5.8.9, it should be able to use things compiled for perl 5.8.7. I wouldn't assume this would follow for things compiled to a different processor spec. I expect you'd find out immediately if it /didn't/ work so it won't hurt you to just try for i686 and see if it fails when loading something from i386.
As for what CPU you're running, there's the uname program and the /proc directory. I don't know whether FreeBSD automatically mounts /proc or not.