1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#!./perl -T
use strict;
use warnings;
use Config;
use Test::More;
use Scalar::Util qw(tainted);
if (exists($Config{taint_support}) && not $Config{taint_support}) {
plan skip_all => "your perl was built without taint support";
}
else {
plan tests => 5;
}
ok( !tainted(1), 'constant number');
my $var = 2;
ok( !tainted($var), 'known variable');
ok( tainted($^X), 'interpreter variable');
$var = $^X;
ok( tainted($var), 'copy of interpreter variable');
{
package Tainted;
sub TIESCALAR { bless {} }
sub FETCH { $^X }
}
tie my $tiedvar, 'Tainted';
ok( tainted($tiedvar), 'for magic variables');
|