in reply to Re: Re: Re: Re: Re: run-time syntax checking
in thread run-time syntax checking

Pardon the late reply, I have indeed been lazy. Lack of motivation I guess. But I remembered there was something I actually wanted to reply to when I read your reply, and since it seems like you might actually use this in some production I'd like to share an idea.

Basically, instead of modifying the use to no, extract the name of the module and preload a local copy of %INC with the module name.

A probably handier idea would be to tie() %INC to a class that returned true for all FETCH:es. (I'd make it return true for EXISTSes too, in case they get an idea of changing the implementation.)

Gotcha on the INIT/CHECK blocks thing, but as the code being syntax-checked would be eval'd at runtime, the "Too late for ..." warning applies right?

Yes, if it really is at run-time, but can you be 100% sure it'll be at run-time? It's easy to forget a thing like this if it's being put in a module that's perhaps being use()d.

ihb