Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Date: Thu, 4 Nov 2004 11:30:29 -0500
From: Christopher Faylor <cgf-no-personal-reply-please@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Perl binmode problem on text mount
Message-ID: <20041104163029.GC11533@trixie.casa.cgf.cx>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <41897FF4.1080501@agilent.com> <Pine.GSO.4.61.0411032211380.687@slinky.cs.nyu.edu> <4189BC6E.8060009@agilent.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4189BC6E.8060009@agilent.com>
User-Agent: Mutt/1.4.1i

On Wed, Nov 03, 2004 at 09:21:50PM -0800, Earl Chew wrote:
>Igor Pechtchanski wrote:
>>On Wed, 3 Nov 2004, Earl Chew wrote:
>>
>>>This code used to work on Perl 5.6.1-2 on Cygwin 1.3.10.
>>>
>>>I've now moved to Perl 5.8.5-3 on Cygwin 1.5.11.
>>>
>>>Here is the Perl program:
>>>
>>>	binmode STDOUT;
>>>	print "Hello\n";
>>>
>>>1. Output to file on text mount
>>>
>>>	perl foo.pl > foo.txt ; od -c foo.txt
>>>
>>>	0000000  H e l l o \r \n	# Perl 5.8.5-3 Cygwin 1.5.11
>>>	0000000  H e l l o \n		# Perl 5.6.1-2 Cygwin 1.3.10
>[ .. snip .. ]
>>This is expected behavior.  Unless you use raw writes (as "cat" does), the
>>mode of the file (text or binary) is determined *by the program that opens
>>the file*.  In the above case, the program is not perl, it's your shell.
>
>I think you're telling me that "binmode STDOUT" has no effect. I find
>this counterintuitive.
>
>Without "binmode STDOUT", I can see how your explanation would work.

AFAIK, binmode STDOUT should work fine.  It should eventually translate
to the setmode call.  Since setmode takes an fd argument it obviously
should affect the mode of the file being read or written regardless of
how it was originally opened.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

