1#!./perl -T 2 3BEGIN { 4 unless (-d 'blib') { 5 chdir 't' if -d 't'; 6 @INC = '../lib'; 7 require Config; import Config; 8 keys %Config; # Silence warning 9 if ($Config{extensions} !~ /\bList\/Util\b/) { 10 print "1..0 # Skip: List::Util was not built\n"; 11 exit 0; 12 } 13 } 14 elsif(!grep {/blib/} @INC) { 15 unshift(@INC, qw(./inc ./blib/arch ./blib/lib)); 16 } 17} 18 19use Test::More tests => 5; 20 21use Scalar::Util qw(tainted); 22 23ok( !tainted(1), 'constant number'); 24 25my $var = 2; 26 27ok( !tainted($var), 'known variable'); 28 29my $key = (grep { !/^PERL/ } keys %ENV)[0]; 30 31ok( tainted($ENV{$key}), 'environment variable'); 32 33$var = $ENV{$key}; 34ok( tainted($var), 'copy of environment variable'); 35 36{ 37 package Tainted; 38 sub TIESCALAR { bless {} } 39 sub FETCH { $^X } 40} 41 42tie my $tiedvar, 'Tainted'; 43ok( tainted($tiedvar), 'for magic variables'); 44