Perl is an interpreted language ... Perl code is executed by a virtual machine that is itself a binary executable for the native hardware of the host
No, and No.
Quote Tom Christiansen (FMTEYEWTK about Compilation vs Interpretation in Perl):
The perl executable ... has two distinct stages ... It compiles your perl program source into a parse tree. This compiler then performs various optimizations such as ... loading in certain library definitions ...
Next comes the backend, which is certainly an interpreter of sorts; let's call it a PP interpreter for now, just because. While what it actually executes is a parse tree and not byte code per se, still we would not go wrong in classifying this backend as a byte-code interpreter (like java or python). This is useful in particular when it comes to distinguishing these languages from "pure" interpreters.