This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Perl binmode problem on text mount


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]