> Another note: your examples with:
> 
>         local ($^T) = 0;
>         $ENV{PATH} = read_config_file();
>         local ($^T) = 1;
> 
> is only using local() to confuse; it should be written with a block,
> correctly restoring the old value of $^T.

Sorry about that - I contemplated taking it out but actually thought it
would help clarify for those familiar with the whole { local($^W) = 0;
create_a_warning() }. You're completely right.

> Footnotes:
> [1]  For efficiency, you'd probably still want some command-line
> option, perhaps -T itself, to say "this program involves taint
> checking, so please keep track of tainted values".  That way programs
> that keep $^T == 0 (almost all of what I write) don't need to keep
> track of tainting.

Definitely. I didn't want to eliminate -T at all, just give a means for
dynamically controlling it within the script as well. The idea would be
that tainting wouldn't be turned on unless -T, $^T = 1, or possibly "use
Taint" (another suggestion) was specified.

You've got some other excellent points in there regarding emphasis on
data and not variables that I'll add to further revisions.

As Tim points out, this is probably more perl6-language. I'll keep the
discussion over there on subsequent posts until something is
"finalized".

-Nate

Reply via email to