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