eol(3) User Contributed Perl Documentation eol(3)
NAME
PerlIO::eol - PerlIO layer for normalizing line endings
VERSION
This document describes version 0.14 of PerlIO::eol, released December 18, 2006.
SYNOPSIS
binmode STDIN, ":raw:eol(LF)";
binmode STDOUT, ":raw:eol(CRLF)";
open FH, "+<:raw:eol(LF-Native)", "file";
binmode STDOUT, ":raw:eol(CRLF?)"; # warns on mixed newlines
binmode STDOUT, ":raw:eol(CRLF!)"; # dies on mixed newlines
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".
By default, data with mixed newlines are normalized silently. Append a "!" to the line ending will
raise a fatal exception when mixed newlines are spotted. Append a "?" will raise a warning instead.
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
Audrey Tang <autrijus@autrijus.org>.
Janitorial help by Gaal Yahas <gaal@forum2.org>.
Inspired by PerlIO::nline by Ben Morrow, <PerlIO-eol@morrow.me.uk>.
COPYRIGHT
Copyright 2004-2006 by Audrey Tang <audreyt@audreyt.org>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl
itself.
See <http://www.perl.com/perl/misc/Artistic.html
perl v5.8.8 2006-12-15 eol(3)
|