Philip Potter <[email protected]> writes:

> The three argument form:
>
> open my $fh, '<', 'rm -rf ~ |' or die "could not open rm -rf ~ |: $!";
>
> doesn't have this problem. It will try to open a file with quite a
> funny name, but because the mode is chosen my the second argument and
> not by a user-supplied string, the user can't execute arbitrary code

Still a bit confused here.

If you want an open with a pipe char for actual piping then the 2 arg
is good?

But if so then all the problems discussed here come into play again.

It seems like the redirect operator inclusion is what makes the open
safer. 

So is this a 3 or 2 arg open:

  my $file = './file';
  open(my $fh,"<$file")or die "Can't open $file: $!";


-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/


Reply via email to