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 "\n", with the possible exception of the final element. This makes \*(C`getline()\*(C' much more efficient; if you plan to do line-oriented reading/printing, you want this class.
The \*(C`print()\*(C' 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: Lines.pm,v 1.3 2005/02/10 21:21:53 dfs Exp $
David F. Skoll ([email protected]).
Eryq ([email protected]). President, ZeeGee Software Inc (http://www.zeegee.com).
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 \*(C`getlines()\*(C'.
Doug Wilson, for the IO::Handle inheritance and automatic tie-ing.