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 reading ^M on text mounts


Dave <kilroyd <at> googlemail.com> writes:

> 
> Have you tried setting the environment variable PERLIO? I'm not a heavy 
> PERL user, but I tend to have
> 
> PERLIO=crlf
> 
> if I'm likely to see CRLFs.

Thanks, I tried that.  It indeed seems to remove the \r but independent of the 
mount mode of the disk.  I googled a bit and found an old thread about this 
where Max Bowsher sums it up in http://www.mail-archive.com/cygwin@cygwin.com/
msg22668.html  What a mess.  And no solution it seems.  The perl docs say a 
simple open X, file; opens the file in text mode.  So I expect the subsequent 
read (and chomp) to treat a \r according to mount mode of the file system.  
PERLIO=crlf changes it for all files.  Is it just me or do other people also 
feel this is broken?

Michael

> 
> > 
> > Lemke, Michael  SZ/HZA-IOM1 <lemkemch <at> schaeffler.com> writes:
> > 
> >>If I execute this perl script
> >>
> >>   de010597> cat x.pl
> >>   #!/usr/bin/perl
> >>   use strict;
> >>
> >>   open( HO, "<x.txt" );
> >>   while (<HO>) { print "$_"; }
> >>
> >>on a text mount with an input file that has CRLF line endings perl
> >>should treat this as a text file and strip the CR.  Only if I use
> >>binmode HO should I see the CR.  But it doesn't:
> >>
> >> de010597> ./x.pl | cat -A
> >>bla^M$
> >> de010597> cat -A x.txt
> >>bla^M$
> >>
> >>What am I missing here?
> >>
> >> de010597> pwd
> >>/d/jakarta-tomcat/awstats
> >> de010597> mount
> >>D:\PROGRA~1\cygwin\bin on /usr/bin type system (binmode)
> >>D:\PROGRA~1\cygwin\lib on /usr/lib type system (binmode)
> >>D:\PROGRA~1\cygwin on / type system (binmode)
> >>c: on /c type system (textmode,noumount)
> >>d: on /d type system (textmode,noumount)
> >>f: on /f type system (textmode,noumount)
> >> de010597> mount -m
> >>mount -f -s -b "D:/PROGRA~1/cygwin/bin" "/usr/bin"
> >>mount -f -s -b "D:/PROGRA~1/cygwin/lib" "/usr/lib"
> >>mount -f -s -b "D:/PROGRA~1/cygwin" "/"
> >>mount -s -t --change-cygdrive-prefix "/"
> >> de010597> uname -a
> >>CYGWIN_NT-5.2 de010597 1.5.18(0.132/4/2) 2005-07-02 20:30 i686 unknown
> >>unknown Cygwin
> >> de010597> perl -v
> >>
> >>This is perl, v5.8.7 built for cygwin-thread-multi-64int

x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x




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