NAME
    IO::Moose - Reimplementation of IO::* with improvements

SYNOPSIS
      use IO::Moose 'Handle', 'File';  # loads IO::Moose::* modules

      $passwd = IO::Moose::File->new( filename=>'/etc/passwd' )->slurp;

DESCRIPTION
    IO::Moose provides a simple mechanism to load several modules in one go.

    IO::Moose::* classes provide an interface mostly compatible with IO. The
    differences:

    *   It is based on Moose object framework.

    *   It uses Exception::Base for signaling errors. Most of methods are
        throwing exception on failure.

    *   The modifiers like input_record_separator are supported on
        per-filehandler basis.

    *   It also implements additional methods like say, slurp.

    *   It is pure-Perl implementation.

EXCEPTIONS
    Exception::Fatal::Compilation
        Thrown whether compilation error is occurred.

IMPORTS
    use IO::Moose [*modules*]
        Loads a modules from IO::Moose::* hierarchy. I.e. Handle parameter
        loads IO::Moose::Handle module.

          use IO::Moose 'Handle', 'File';  # loads IO::Moose::Handle and ::File.

        If *modules* list is empty, it loads following modules at default:

        *   IO::Moose::Handle

        *   IO::Moose::File

EXCEPTIONS
    Exception::Fatal::Compilation
        Thrown if there was a problem during compilation.

SEE ALSO
    IO, Moose.

BUGS
    The API is not stable yet and can be changed in future.

AUTHOR
    Piotr Roszatycki <dexter@debian.org>

LICENSE
    Copyright 2008 by Piotr Roszatycki <dexter@debian.org>.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

    See <http://www.perl.com/perl/misc/Artistic.html>