Java has a compile time which occurs independently of subsequent execution of the output of that compiler. Perl parses the source-code into a runtime tree which can be modified thereafter, to be discarded at run's end. In that respect both languages are typical examples of their respective archetypes.