http://qs321.pair.com?node_id=121340


in reply to Re: Newbie Tainted glob question
in thread Newbie Tainted glob question

I suspect that it's not as complicated as all that NT specific stuff blakem mentions, if the problem is happening on BSD as well.

If you're invoking the script as 'perl taint.pl', then the switches in your hashbang line aren't being executed as early on as they possibly could be.

Assuming this is the case, you have two options (at least on BSD):

Invoke it as 'perl -T taint.pl', or make the script executeable and invoke it as './taint.pl'

Have fun!

elbieelbieelbie

Replies are listed 'Best First'.
Re: (DDA) Re: (elbie): Newbie Tainted glob question
by DamnDirtyApe (Curate) on Oct 25, 2001 at 08:22 UTC

    Yup, a simple matter of adding the -T to the command line.

    Something struck me as a little odd there, so I played around and discovered that warnings don't follow the same rule -- warnings can be turned on or off from the shebang without appearing on the command line. So, is -w the only option to which this applies?

    (Not that it matters much; I always use use strict; use warnings; use diagnostics;, but I'm curious to know how it works.)

    _______________
    DamnDirtyApe
    Home Node | Email
      You might be able to find the answer in this tpj article (would have linked to the official archive but it always seems to hang in my browser)

      I have to admit that I don't understand it enough to actually answer your question, but the article above ends with:

      And now you know why perl 5.004 has the new warning Too late for -T option. Taint mode isn't effective unless it's done from the very start, i.e. from the real command line. By the time yylex is called, a lot of taint-related things should already have happened, so perl can't guarantee that your data is safe. To avoid this problem, always make -T the first option on the shebang line.
      So, I assume the answer can be found somewhere in there....
      time for me to go read it myself, now.

      -Blake