There are lots of hurdles that prevent porting of Perl 5 to a different backend than what it currently has, and Parrot in particular:
- Perl 5 is not specified, but dictated by the current implementation
- Perl 5 has some weird behavior in quite many places, and it's nigh impossible to reproduce the same behavior with a different implementation
- XS. Do I need to say more?
- Whenever you port a high-level language with as many quirks as Perl 5 has to a different runtime that wasn't specifically designed to support it, you get quite some runtime overhead, making the port slower than the C implementation, even if the new backend is faster in places.
- Parrot still lacks the maturity that Perl 5 needs in lots of areas (IO, threads, performance).
- Man power. Porting any non-trivial language to $anywhere is a huge effort, and needs hackers that stay committed over a long time, and invest vast amounts of time and energy.
While many folks agree that having Perl 5 on Parrot would be a nice thing, that alone simply isn't enough to make it happen.