Some people refer to the program perl as an interpreter of the Perl language, while others refer to it as a compiler. Technically, part of it is an interpreter, and part of it is a compiler.
The program perl compiles parts of your program into an intermediate byte code, which is then used to run the program. Parts of the program that cannot be readily compiled (for example, eval code), are interpreted at runtime.
For convenience sake, we may sometimes refer to perl as an interpreter, or a compiler,
depending on the context and the point of the reference.