The most obvious gotchas to look out for that I can think of:
- case sensitivity when accessing the filesystem (Windows is generally not case sensitive, most filesystems on unix-a-like OSs are case sensitive)
- PHP and perl modules: depending on which modules you have used you may find that they are not available on the production servers (and might even be platform specific, though this is fairly rare)
- if you code calls any external utilities (instead of a perl/PHP module that does the same job) then you will run into trouble as those utilities are unlikely to be available when switching base OS
If your application is well coded and doesn't do anything specialist (through reliance on uncommon modules or through hacks like calling OS external utils) then you may be lucky and have very few changes to make, possible none, as the majority of PHP and perl and there common modules are pretty much platform agnostic from the script writers point of view.
I would recommend trying to get a system together that replicates as closely as possible the production environment. If you can find out the versions of Apache, PHP and Perl they have installed and get a list of the modules present in both PHP and Perl, you should be able to create a testing environment in a VM (VMWare or similar) that is closer to the intended production environment than an arbitrary WAMP setup would be. You may even find that the people responsible for your servers already have some staging environments in VMs or physical machines that you could arrange access to for such testing purposes - that will be quicker (bureaucracy permitting) than setting up your own and will mean the environment you are testing on will be very close to production.