Cygwin perl not understanding textmode

Mike Spertus mike.spertus@veritas.com
Wed Mar 31 10:01:00 GMT 2004


Igor Pechtchanski wrote:

> On Tue, 30 Mar 2004, Mike Spertus wrote:
>
>> I have installed Cygwin with DOS linebreaks (i.e., disks mounted in
>> textmode). However, Cygwin perl doesn't seem to understand this as shown
>> below. How do I tell Cygwin perl to respect textmode?:
>>
>> MPS@MPS-2000 ~
>> $ od -t x1 foo.txt
>> 0000000 66 6f 6f 62 61 72 0d 0a 66 6f 6f 62 61 7a 0d 0a
>> 0000020 66 6f 6f 62 61 74 0d 0a 0d 0a
>> 0000032
>>
>> MPS@MPS-2000 ~
>> $ cat ~/foo.txt | perl -e 'while (<>) {print;}' >bar.txt
>>
>> MPS@MPS-2000 ~
>> $ od -t x1 bar.txt
>> 0000000 66 6f 6f 62 61 72 0d 0d 0a 66 6f 6f 62 61 7a 0d
>> 0000020 0d 0a 66 6f 6f 62 61 74 0d 0d 0a 0d 0d 0a
>> 0000036
>>
>> MPS@MPS-2000 ~
>> $ mount
>> C:\cygwin\bin on /usr/bin type system (textmode)
>> C:\cygwin\lib on /usr/lib type system (textmode)
>> C:\cygwin on / type system (textmode)
>> c: on /cygdrive/c type user (textmode,noumount)
>> g: on /cygdrive/g type user (textmode,noumount)
>> r: on /cygdrive/r type user (textmode,noumount)
>>
>> Is this a bug? Any suggestions?
>>
>> Thanks,
>> Mike
>
> When you use pipes, you lose the mount mode information.  Try running
>
> $ perl -e 'while (<>) {print;}' <~/foo.txt >bar.txt
>
> instead.  For controlling the mode of pipes, read about the "(no)binmode"
> option at <http://cygwin.com/cygwin-ug-net/using-cygwinenv.html>.
>	Igor

I tried running your command, and exactly the same problem occurred :( 
In fact, my original perl script that I simplified in the post actually 
got the filename from the command line.

Mike

--
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/



More information about the Cygwin mailing list