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?:
[EMAIL PROTECTED] ~ $ 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
[EMAIL PROTECTED] ~ $ cat ~/foo.txt | perl -e 'while (<>) {print;}' >bar.txt
[EMAIL PROTECTED] ~ $ 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
[EMAIL PROTECTED] ~ $ 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/