This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Re: [PATCH] strictifying ExtUtils::MakeMaker, take 3
[perl5.git] / pod / perlfaq7.pod
index cabfca1..69bc17f 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-perlfaq7 - Perl Language Issues ($Revision: 1.3 $, $Date: 2001/10/19 14:39:24 $)
+perlfaq7 - Perl Language Issues ($Revision: 1.5 $, $Date: 2002/01/01 22:26:45 $)
 
 =head1 DESCRIPTION
 
@@ -170,7 +170,7 @@ you should study L<perlxstut>.
 The C<h2xs> program will create stubs for all the important stuff for you:
 
   % h2xs -XA -n My::Module
-  
+
 The C<-X> switch tells C<h2xs> that you are not using C<XS> extension
 code.  The C<-A> switch tells C<h2xs> that you are not using the
 AutoLoader, and the C<-n> switch specifies the name of the module.
@@ -183,17 +183,9 @@ L<perlobj> and L<perlbot>.
 
 =head2 How can I tell if a variable is tainted?
 
-See L<perlsec/"Laundering and Detecting Tainted Data">.  Here's an
-example (which doesn't use any system calls, because the kill()
-is given no processes to signal):
-
-    sub is_tainted {
-       return ! eval { join('',@_), kill 0; 1; };
-    }
-
-This is not C<-w> clean, however.  There is no C<-w> clean way to
-detect taintedness--take this as a hint that you should untaint
-all possibly-tainted data.
+You can use the tainted() function of the Scalar::Util module, available
+from CPAN (or included with Perl since release 5.8.0).
+See also L<perlsec/"Laundering and Detecting Tainted Data">.
 
 =head2 What's a closure?