Have you super-searched obfuscation? There are many nodes on Perl Monks on this topic, full of reasons why it's a bad idea and cannot be reliably done. It's also a FAQ.
Just a while ago, shmem "broke" the obfuscation of perl2exe, without breaking much of a sweat, apparently.
If, as you indicate, the IP is being shipped to the people who aren't supposed to get at it - game over. Since users still have complete control over the computers they use, they can control and inspect exactly what their computer is doing. It may be painful, tedious or inconvenient, but if a program is running on your machine, you can always get at the details.
You say have to ship the executable - perhaps there's a way to separate out the "IP" part of it and make it available remotely? Or do you consider your entire program to be sensitive?