in reply to Knowing when a code string contains code that will be executed at compile-time/end?
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Knowing when a code string contains code that will be executed at compile-time/end? (Update)
by perlancar (Hermit) on Aug 16, 2020 at 11:58 UTC |