I'm not really sure what you mean by "binary".
The real problem is that the whole notion of "compilation" and "executable" are really intertwined in an interpreted language like Perl. Some of what makes Perl easy to code comes from the ability to modify the executable code at runtime by compiling new code that is created during runtime.
The best you're ever going to get to is bytecode that runs on the interpreter -- no different than Python or Java compiled bytecode files that run on their interpreters.
B::Bytecode only takes you so far. As someone else pointed out -- you're probably not going to find what you want until Parrot gets further along.
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.