Not doing this can cause hard-to-find bugs.
However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
section.
-=head3 L<XXX>
+=head3 L<perlsec/Laundering and Detecting Tainted Data>
=over 4
=item *
-XXX Description of the change here
+The example function for checking for taintedness contained a subtle
+error. C<$@> needs to be localized to prevent its changing this
+global's value outside the function. The preferred method to check for
+this, though, remains to use L<Scalar::Util/tainted>.
=back
Or you may be able to use the following C<is_tainted()> function.
sub is_tainted {
+ local $@; # Don't pollute caller's value.
return ! eval { eval("#" . substr(join("", @_), 0, 0)); 1 };
}