# IO::Lines 2.103

This module is BETA code, which means that the interfaces are fairly stable BUT it has not been out in the community long enough to guarantee much testing. Use with caution! Please report any errors back to eryq@zeegee.com as soon as you can.

- NAME
- SYNOPSIS
- DESCRIPTION
- VERSION
- AUTHORS
  - Principal author
  - Other contributors

## NAME

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

## SYNOPSIS

        use IO::Lines;

        ### See IO::ScalarArray for details

## DESCRIPTION

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 `getline()` much more efficient; if you plan to do line-oriented reading/printing, you want this class.

The `print()` 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.

## VERSION

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

## AUTHORS

### Principal author

Eryq (eryq@zeegee.com). President, ZeeGee Software Inc (http://www.zeegee.com).

### 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 `getlines()`.

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