From: x1 Date: 2006-05-19T10:57:37+09:00 Subject: Re: Command Line Processing / Pipes It's getting to ruby if a ruby exception is being thrown. Does it work w/ perl or any other language? (just curious) I would think that it woudlnt. On 5/18/06, A LeDonne wrote: > On 5/18/06, Stuart Holden wrote: > > Hi Chris, > > > > Sorry, I forgot about 'cat' being a non-standard cmd. It's on this > > machine as part of Cygwin. The one liner you gave me works great. It can > > accept filenames as arguments and STDIN via a pipe. Howerver, what I am > > going to be doing is too complex for a one line script so I will need to > > put it in a .rb file. I thought the equivalent of the '-n -e "print"' > > one liner would be: > > > > while gets() > > print > > end > > > > but, when I put this in a file called parser.rb and try > > > > type input.txt | parser.rb > > > > I get the following: > > > > The process tried to write to a nonexistent pipe. > > c:/scripts/parser.rb:1:in `gets': Bad file descriptor > > (Errno::EBADF) > > from c:/scripts/parser.rb:1 > > > > Thanks, > > Stu > > > > What happens if you do: > > type input.txt | ruby parser.rb > > ? > > I think the point may be that you have to call the ruby interpreter > explicitly, rather than relying on windows file associations to do the > right thing when there's a pipe involved. > > -A > >