NAME
PerlIO::eol - PerlIO layer for normalizing line endings
VERSION
This document describes version 0.06 of PerlIO::eol, released October 15, 2004.
SYNOPSIS
binmode STDIN, ":raw:eol(LF)";
binmode STDOUT, ":raw:eol(CRLF)";
open FH, "+<:raw:eol(LF-Native)", "file";
use PerlIO::eol qw( eol_is_mixed );
my $pos = eol_is_mixed( "mixed\nstring\r" );
DESCRIPTION
This layer normalizes any of CR
, LF
, CRLF
and Native
into the designated line ending. It works for both input and output handles.
If you specify two different line endings joined by a -
, it will use the first one for reading and the second one for writing. For example, the LF-CRLF
encoding means that all input should be normalized to LF
, and all output should be normalized to CRLF
.
It is advised to pop any potential :crlf
or encoding layers before this layer; this is usually done using a :raw
prefix.
This module also optionally exports a eol_is_mixed
function; it takes a string and returns the position of the first inconsistent line ending found in that string, or 0
if the line endings are consistent.
The CR
, LF
, <CRLF> and <NATIVE> constants are also exported at request.
AUTHORS
Autrijus Tang <autrijus@autrijus.org>
Based on PerlIO::nline by Ben Morrow, <PerlIO-eol@morrow.me.uk>.
COPYRIGHT
Copyright 2004 by Autrijus Tang <autrijus@autrijus.org>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.