Interpreter

An interpreted programming language is a script language parsed and executed within a program called an interpreter. A shell offers script functionality usually. Unlike compiled programs scripts require the interpreter to be running to execute them.

High level languages such as Java and Python are interpreted, however they produce a bytecode to speed up their execution. Consider this semi-compiled, but they don't produce true binaries that can run standalone on a computer.

Perl is definitely interpreted.