in reply to redirect STDOUT from system() function

Hi!

How about using backticks:
#!/usr/bin/perl -w use strict; my @List=`ls -al`; print @List;
Would that do it for you ?

GreetZ!,

print "profeth still\n" if /bird|devil/;

Replies are listed 'Best First'.
Re: Re: redirect STDOUT from system() function
by uzzikie (Sexton) on Aug 10, 2001 at 12:59 UTC
    hi

    nope i can't use backticks as the script is running setuid...
    says the $ENV{path} is insecur
    would be a bad idea anyway....
      Either way, Perl spawns a system call. You'll have to untaint a couple of things in %ENV. For example, this fails:
      #!/usr/bin/perl -wT use strict; # delete $ENV{qw( BASH_ENV PATH )}; my $output = `/bin/ls`; print "Output is ($output)\n";
      Uncommenting the appropriate line makes it work, at least on my box. Depending on what's tainted, you may have to do a little more work.