# phpman > perldoc > IO::Lines

## NAME
    [IO::Lines](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ALines/markdown) - IO:: interface for reading/writing an array of lines

## SYNOPSIS
        use [IO::Lines](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ALines/markdown);

        ### See [IO::ScalarArray](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AScalarArray/markdown) for details

## DESCRIPTION
    This class implements objects which behave just like FileHandle (or [IO::Handle](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AHandle/markdown)) 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](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AScalarArray/markdown) 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](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AScalarArray/markdown) for full usage and warnings.

## VERSION
    $Id: Lines.pm,v 1.3 2005/02/10 21:21:53 dfs Exp $

## AUTHORS
### Primary Maintainer
    Dianne Skoll (<dfs@roaringpenguin.com>).

### 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](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AHandle/markdown) inheritance and automatic tie-ing.

