Command Line Processing / Pipes

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 <a href="http://www.barings.com/email/index.hcst&quot;&gt;http://www.barings.com/email/index.hcst&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;/body&gt;
</p>
</font>
</blockquote>

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