>>>>>>>> "Bryan" == Bryan R Harris<bryan_r_har...@raytheon.com>  writes:
>>> 
>>> Bryan>  How can I use the "safe" 3-argument open and still be able to read
>>> off
>>> a
>>> Bryan>  pipe?
>>> 
>>> You don't.  2-arg open has to be good for something.
>>> 
>>> And 2-arg open is perfectly safe if the second arg is a literal:
>>> 
>>>    open OTHER, "<-" or die;
>>>    open my $handle, "<-" or die;
>>> 
>>> Don't let anyone tell you "Always use 3-arg open" unless they also
>>> footnote it with "unless you have no variables involved".
>> 
>> 
>> Hmm.  With this tool if there's a pipe and no user-supplied files, I just
>> put "-" onto the list of files to search -- using the 2-arg open.  Someone
>> suggested that was a bad idea, so I switched to the 3-arg open but that
>> broke reading off the pipe.
>> 
>> So is it right that in order to read off the pipe *and* be safe, I have to
>> have both types of "open" statements in my code?
> 
> If your file names aren't hard-coded into the program then yes.
> 
> This same question received five replies on 18 August. Did you read
> them?

Absolutely, I did -- and I got the script working by having logic that
selects whether to use the 2-arg open or the 3-arg open.  But since I had
Randall's attention I thought I'd make sure that was the better thing to do.

Thanks to all for the responses -- a great list!

- Bryan



-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to