Re: 3-argument open on STDIN
- From: rob.dixon@xxxxxxx (Rob Dixon)
- Date: Tue, 23 Aug 2011 08:16:59 +0100
On 23/08/2011 04:17, Bryan R Harris wrote:
"Bryan" == Bryan R Harris<Bryan_R_Harris@xxxxxxxxxxxx> 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?
Rob
.
- Follow-Ups:
- Re: 3-argument open on STDIN
- From: Bryan R Harris
- Re: 3-argument open on STDIN
- References:
- Re: 3-argument open on STDIN
- From: Bryan R Harris
- Re: 3-argument open on STDIN
- Prev by Date: Re: Find and Replace in Textfile
- Next by Date: Hash of Hashes - Error
- Previous by thread: Re: 3-argument open on STDIN
- Next by thread: Re: 3-argument open on STDIN
- Index(es):
Relevant Pages
|