in reply to Spurious "Insecure dependency" error in CGI.pm

I get an Insecure dependency in require... error at line 533 of CGI.pm

I say this loud cause folks always to forget

what version

do you have?

update:I see you have the latest, Bug #70935 for CGI: Spurious "Insecure dependency" error

If it is a bug, it might also be a perl bug

$ perl -Tle " print fileno shift" c $ perl -Tle " print fileno shift" 9999999999999999999999999 $ perl -Tle " print fileno shift" "<" $ perl -Tle " print fileno shift" ">" $ perl -Tle " print fileno shift" "+" Insecure dependency in require while running with -T switch at -e line + 1. BEGIN failed--compilation aborted. $ perl -Tle " print fileno shift" "-" Insecure dependency in require while running with -T switch at -e line + 1. BEGIN failed--compilation aborted. $ perl -Tle " print fileno shift" "*"

Replies are listed 'Best First'.
Re^2: Spurious "Insecure dependency" error in CGI.pm
by Anonymous Monk on Sep 14, 2011 at 14:25 UTC

    In addition to + and - I also found that ! does it

    My test program

    perl -MDDS -le " @a = qw/ perl -Tle print(fileno(shift)) -- /; for(0.. +1222){ push @a, chr $_; $r = system @a; $r and Dump\@a; pop @a; } "
      Haha, this happens in both 5.14.1 and 5.12.2, funny
      $ perl -Tle " package SNOT; print(fileno(shift @ARGV)) ; use Data::Dum +per(); END{ warn Data::Dumper::Dumper(\%SNOT::);}" - Insecure dependency in require while running with -T switch at -e line + 1. BEGIN failed--compilation aborted. $VAR1 = { 'BEGIN' => *SNOT::BEGIN, 'END' => *SNOT::END }; $ perl -Tle " package SNOT; print(fileno(shift @ARGV)) ; use Data::Dum +per(); END{ warn Data::Dumper::Dumper(\%SNOT::);}" + Insecure dependency in require while running with -T switch at -e line + 1. BEGIN failed--compilation aborted. $VAR1 = { 'BEGIN' => *SNOT::BEGIN, 'END' => *SNOT::END }; $ perl -Tle " package SNOT; print(fileno(shift @ARGV)) ; use Data::Dum +per(); END{ warn Data::Dumper::Dumper(\%SNOT::);}" ! $VAR1 = { 'BEGIN' => *SNOT::BEGIN, 'END' => *SNOT::END };

      Comment in PP(pp_fileno) even funnier

      731 if (!io || !(fp = IoIFP(io))) { 732 /* Can't do this because people seem to do things like 733 defined(fileno($foo)) to check whether $foo is a valid + fh. 734 735 report_evil_fh(gv); 736 */ 737 RETPUSHUNDEF; 738 }

      I don't know what this means :)

      present in perl 5.14.1 and 5.12.2 but not 5.8.9