NAME

Taint - Perl extension to taint variables

SYNOPSIS

use Taint;
taint($taintvar[, $anothervar[, $yetmorevars]]);
$bool = tainted($vartocheck);

DESCRIPTION

taint() marks its arguments as tainted. If a hard reference is passed, it's dereferenced (recursively if necessary) and the refered-to thing is tainted.

tainted() returns true if its argument is tainted, false otherwise

DIAGNOSTICS

Attempt to taint read-only value

You attempted to taint something untaintable, such as a constant or expression. taint() only takes lvalues for arguments

Taint reference recursion level too deep

A reference chain was too deep. taint(), if passed a reference, will dereference it and try tainting that. If the dereferenced value is a reference, then it in turn is dereferenced and we try again. After some point, though, we have to give up, otherwise mistakes like this:

$bar = \$baz;
$baz = \$bar;
taint($bar);

will loop forever.

Attempt to taint an array

A reference to an array was passed to taint. You can only taint individual array items, not array itself.

Attempt to taint a hash

A reference to a hash was passed to taint. You can only taint individual hash items, not the entire hash.

Attempt to taint code

You passed a coderef to taint. You can't do that.

Attempt to taint a typeglob

You passed a typeglob to taint. taint only taints scalars, and a typeglob isn't one.

Attempt to taint a reference

This is an error you shouldn't ever get, and it indicates a problem with the Taint module somewhere. Regardless, it means that taint tried tainting a hard reference, which won't work.

Attempt to taint something unknown or undef

You tried tainting either a variable set to undef, or your version of perl has more types of variables than mine did when this module was written. Odds are, you're trying to taint a variable with an undef value like, for example, one that has been created (either explicitly or implicitly) but not had a value assigned.

Doing this:

my $foo;
taint($foo);

will trigger this error.

AUTHOR

Dan Sugalski <sugalskd@osshe.edu>

SEE ALSO

perl(1).