http://qs1969.pair.com?node_id=555868


in reply to Re^3: How is perl able to handle the null byte?
in thread How is perl able to handle the null byte?

I question strongly that this is a serious performance issue ...

Think again.

The taint flag is set at a few, very specific points of input. And it remains set until it is modified

Think of all the different ways a string can be read in, constructed or modified. Interpolation of other strings, concatenation, join, pack, unpack, qq//, s///, tr///, substr, chomp, chop, sprintf, read, sysread, vec, promotion of IVs & NVs to PVs etc. etc. Every time a scalar is modified it would be necessary to recheck whether it now (or still) contains one or more null characters--and if it does, whether they are a legitimate part of a multibyte character or not.

Still doubt the performance impact?


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
  • Comment on Re^4: How is perl able to handle the null byte?