MooseX::Types::IO - IO related constraints and coercions for Moose
package Foo; use Moose; use MooseX::Types::IO 'IO'; has io => ( isa => IO, is => "rw", coerce => 1, ); # later my $str = "test for IO::String\n line 2"; my $foo = Foo->new( io => \$str ); my $io = $foo->io; # IO::String # or my $filename = "file.txt"; my $foo = Foo->new( io => $filename ); my $io = $foo->io; # IO::File # or my $foo = Foo->new( io => [ $fh, '<' ] ); my $io = $foo->io; # IO::Handle
my $fh = new IO::File; $fh->open($_);
IO::Handle->new_from_fd( @$_ );
<fayland at gmail.com>
The Moose Team
Rafael Kitover (rkitover) for the patches on RT 46194
Copyright 2008 Fayland Lam, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.