<HTML>
<HEAD>
  <TITLE>IO::Lines 2.103</TITLE>
</HEAD>
<BODY 
       bgcolor="#FFFFFF" link="#CC3366" vlink="#993366" alink="#FF6666">
<FONT FACE="sans-serif" SIZE=-1><A HREF="http://www.zeegee.com" TARGET="_top"><IMG SRC="icons/zeegee.gif" ALT="ZeeGee Software" ALIGN="RIGHT" BORDER="0"></A><A NAME="__TOP__"><H1>IO::Lines 2.103</H1>
</A><UL>
<LI> <A NAME="menu:NAME"><A HREF="#NAME">NAME</A></A>
<LI> <A NAME="menu:SYNOPSIS"><A HREF="#SYNOPSIS">SYNOPSIS</A></A>
<LI> <A NAME="menu:DESCRIPTION"><A HREF="#DESCRIPTION">DESCRIPTION</A></A>
<LI> <A NAME="menu:VERSION"><A HREF="#VERSION">VERSION</A></A>
<LI> <A NAME="menu:AUTHORS"><A HREF="#AUTHORS">AUTHORS</A></A>
<UL>
<LI> <A NAME="menu:Principal_author"><A HREF="#Principal_author">Principal author</A></A>
<LI> <A NAME="menu:Other_contributors"><A HREF="#Other_contributors">Other contributors</A></A>
</UL>
</UL>


<P><HR>
<A NAME="NAME"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> NAME</H2></A>


<P>IO::Lines - IO:: interface for reading/writing an array of lines



<P><HR>
<A NAME="SYNOPSIS"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> SYNOPSIS</H2></A>

<FONT SIZE=3 FACE="courier"><PRE>
    use IO::Lines;
</PRE></FONT>
<FONT SIZE=3 FACE="courier"><PRE>
    ### See IO::ScalarArray for details 
</PRE></FONT>


<P><HR>
<A NAME="DESCRIPTION"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> DESCRIPTION</H2></A>


<P>This class implements objects which behave just like FileHandle
(or IO::Handle) objects, except that you may use them to write to
(or read from) an array of lines.  They can be tiehandle'd as well.  


<P>This is a subclass of <A HREF="../IO/ScalarArray.pm.html">IO::ScalarArray</A> 
in which the underlying
array has its data stored in a line-oriented-format: that is,
every element ends in a <CODE>&quot;\n&quot;</CODE>, with the possible exception of the
final element.  This makes <CODE>getline()</CODE> <I>much</I> more efficient;
if you plan to do line-oriented reading/printing, you want this class.


<P>The <CODE>print()</CODE> method will enforce this rule, so you can print
arbitrary data to the line-array: it will break the data at
newlines appropriately.


<P>See <A HREF="../IO/ScalarArray.pm.html">IO::ScalarArray</A> for full usage and warnings.



<P><HR>
<A NAME="VERSION"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> VERSION</H2></A>


<P>$Id: Lines.pm,v 2.103 2001/08/09 08:04:44 eryq Exp $



<P><HR>
<A NAME="AUTHORS"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> AUTHORS</H2></A>



<P><HR>
<A NAME="Principal_author"><H3><A HREF="#__TOP__"><IMG SRC="icons/h2bullet.gif" ALT="Top" BORDER="0"></A> Principal author</H3></A>


<P>Eryq (<I><FILE><A HREF="mailto:eryq@zeegee.com">eryq@zeegee.com</A></FILE></I>).
President, ZeeGee Software Inc (<I><FILE><A HREF="http://www.zeegee.com">http://www.zeegee.com</A></FILE></I>).



<P><HR>
<A NAME="Other_contributors"><H3><A HREF="#__TOP__"><IMG SRC="icons/h2bullet.gif" ALT="Top" BORDER="0"></A> Other contributors</H3></A>


<P>Thanks to the following individuals for their invaluable contributions
(if I've forgotten or misspelled your name, please email me!):


<P><I>Morris M. Siegel,</I>
for his $/ patch and the new <CODE>getlines()</CODE>.


<P><I>Doug Wilson,</I>
for the IO::Handle inheritance and automatic tie-ing.

<P><HR>
<ADDRESS><FONT SIZE=-1>
Generated Sun Dec 21 13:54:37 2003 by cvu_pod2html
</FONT></ADDRESS>
</FONT></BODY>
</HTML>