I'm not sure if this is a question; if so, it probably belongs in Seekers of Perl Wisdom. But even if you're just trying to start a discussion, you forgot to mention my favorite solution in this space: PAR. It allows you to package up scripts and modules in a package ala Java's jar format, but it also allows you to create a standalone executable.
It bundles your code up using the standard PAR format, then wraps it in an extractor and a perl executable. It may seem kind of wasteful, and does not prevent others from getting access to your original source code (it doesn't even try), but it certainly makes a convenient binary executable that you can run without much effort.