perl works fine, and you aren't going to unexpected trigger an infinite loop due to some bug in the language definition.
What you can't do is tell how to parse a piece of perl without running the program.
http://www.perlmonks.org/?node_id=663393
These are an expounding upon this link. In most languages, you can at least tell what things are. This is a function. That's a variable. In perl, there are constructs whose parsing depend on what a given bit of code was defined as previously, and that definition can be predicated on code execution. This leaves you in a situation where you cannot tell if something is a division and comment or a regex without knowing whether a function takes arguments. ( see link )