Hi,

Yes, when I explicitly call ruby rather than rely on the file
association it works as I would expect. I don't understand why the
exception is thrown when ruby isn't explicitly invoked - as x1 mentioned
it got to Ruby. The file association step seems to mess everything up.
Windows never was very good with its command line - ho hum. 


This now does what I'd like so I'm very happy. Chris, Robert, A LeDonne,
x1 and Pit Captain - Thanks!


-----Original Message-----
From: A LeDonne [mailto:aledonne.listmail / gmail.com] 
Sent: 18 May 2006 19:23
To: ruby-talk ML
Subject: Re: Command Line Processing / Pipes

On 5/18/06, Stuart Holden <Stuart.Holden / baring-asset.com> 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



<body>

<blockquote>
<font FACE="Arial,Arial" SIZE="1"><p ALIGN="JUSTIFY">This Email may contain confidential and privileged information and is intended for the use of the addressee(s) only.   If you are not the intended recipient please notify the sender and delete the Email from your system. It should not be transmitted to any other person without the consent of the sender. Additional important notifications regarding Email transmissions from and to members of Baring Asset Management can be accessed at http://www.barings.com/email/index.hcst</font></p></body>
</p>
</font>
</blockquote>

<p>&nbsp;</p>
</body>
</html>