If you eval a code string just keep the string.
It's nearly impossible to statically parse Perl for compile time code, it can even be hidden inside a regex.°
The only approach I could think of is to eval it and to make the compiler die if he encounters a use or BEGIN or similar. ◇
And I'm not even sure if that is feasable.
On another note: better don't rely on B::Deparse it's only a 95% solution.
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
°) See Re: Vulnerabilities when editing untrusted code... (Komodo)
◇) probably with Safe
In reply to Re: Knowing when a code string contains code that will be executed at compile-time/end? (Update)
by LanX
in thread Knowing when a code string contains code that will be executed at compile-time/end?
by perlancar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |