Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Quick and portable way to determine line-ending string?

by tachyon (Chancellor)
on Aug 09, 2001 at 04:46 UTC ( #103300=note: print w/replies, xml ) Need Help??

in reply to Quick and portable way to determine line-ending string?

This appears to work. We use the DATA filehandle so need no permission as Perl opens this for us.

seek DATA,-6,1; # back up into __DATA__ string binmode DATA; $end = <DATA>; $end =~ s/.*__//; # delete everything except the line ending for(split//,$end){printf "0x%x\n",ord $_} __DATA__ # prints (on Win32) 0xd 0xa

Make sure there is a \n after the __DATA__

Does this port?

This also works as you would expect:

my $tmp = 'c:/tmp.tmp'; open TMP, "+>$tmp" or die $!; print TMP "\n"; seek TMP, 0, 0; binmode TMP; for(split//,<TMP>){printf "0x%x\n",ord $_} close TMP; unlink $tmp; __END__ #prints (on Win32) 0xd 0xa




Replies are listed 'Best First'.
Re: Re: Quick and portable way to determine line-ending string?
by John M. Dlugosz (Monsignor) on Aug 09, 2001 at 07:24 UTC
    That will tell you the line ending found in that file, which is where it was last edited before being installed. perl will tolerate all kinds of stuff, but that's not necessarily the native line ending of the system it's running on now. That is, you could plop the same file onto a Mac or a PC and still see the same value.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://103300]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (7)
As of 2018-05-25 10:13 GMT
Find Nodes?
    Voting Booth?