Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Thu, 4 Nov 2004 11:30:29 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: Perl binmode problem on text mount Message-ID: <20041104163029.GC11533@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <41897FF4 DOT 1080501 AT agilent DOT com> <4189BC6E DOT 8060009 AT agilent DOT 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/