TEST="foo=bar%20baz" perl -MScalar::Util=tainted -T -le 'print "TEST taint? ", tainted( $ENV{TEST} ); ($a, $b) = split( /=/, $ENV{TEST} ); print "a? ", tainted( $a ), "\tb? ", tainted( $b ); $b =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; print "b? ", tainted( $b )' TEST taint? 1 a? 1 b? 1 b? 1