It has nothing to do with the variables. It's that you're forking twice in the same statement (at least that's my guess). Try these:
#!/usr/bin/perl -T use strict; use warnings; $ENV{PATH} = '/usr/bin:/usr/local/bin:/bin'; $ENV{ENV} = ''; my ($a,$b) = (`mktemp /tmp/temp.XXXXXX`, `mktemp /tmp/temp.XXXXXX`); my $temp_fails = [ $a, $b ]; __END__ Insecure dependency in `` while running with -T switch at ./foo line 9 +.
#!/usr/bin/perl -T use strict; use warnings; $ENV{PATH} = '/usr/bin:/usr/local/bin:/bin'; $ENV{ENV} = ''; my $a = `mktemp /tmp/temp.XXXXXX`; my $b = `mktemp /tmp/temp.XXXXXX`; my $temp_fails = [ $a, $b ]; __END__
The latter works just fine
In reply to Re: Taint bug with backticks in variable assignments
by duff
in thread Taint bug with backticks in variable assignments
by shotgunefx
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |