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
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
In reply to Re: Quick and portable way to determine line-ending string?
by tachyon
in thread Quick and portable way to determine line-ending string?
by bikeNomad
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |