libscalar-list-utils-perl/t/tainted.t

37 lines
622 B
Perl

#!./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');