man IO::Lines () - IO:: interface for reading/writing an array of lines


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


    use IO::Lines;

    ### See IO::ScalarArray for details


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.

This is a subclass of IO::ScalarArray in which the underlying array has its data stored in a line-oriented-format: that is, every element ends in a CW"\n", with the possible exception of the final element. This makes CWgetline() much more efficient; if you plan to do line-oriented reading/printing, you want this class.

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

See IO::ScalarArray for full usage and warnings.


$Id:,v 1.3 2005/02/10 21:21:53 dfs Exp $


Primary Maintainer

David F. Skoll (

Principal author

Eryq ( President, ZeeGee Software Inc (

Other contributors

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

Morris M. Siegel, for his $/ patch and the new CWgetlines().

Doug Wilson, for the IO::Handle inheritance and automatic tie-ing.