X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FStorage%2FEngine%2FIO%2FFile.pm;h=e080d4c6f3732aa98a04e2b7c94a6443833e926d;hb=d92b2381821e049808c6b9ddc9c09553e2a78290;hp=b87f6a30e756086a19304fa9c702fd998afbe606;hpb=c86a46cc54baef2a5738176a70288db5f3f1376f;p=gitmo%2FMooseX-Storage.git diff --git a/lib/MooseX/Storage/Engine/IO/File.pm b/lib/MooseX/Storage/Engine/IO/File.pm index b87f6a3..e080d4c 100644 --- a/lib/MooseX/Storage/Engine/IO/File.pm +++ b/lib/MooseX/Storage/Engine/IO/File.pm @@ -1,29 +1,27 @@ - package MooseX::Storage::Engine::IO::File; use Moose; use IO::File; -our $VERSION = '0.02'; - has 'file' => ( - is => 'ro', - isa => 'Str', - required => 1, + is => 'ro', + isa => 'Str', + required => 1, ); -sub load { - my ($self) = @_; - my $fh = IO::File->new($self->file, 'r') - || confess "Unable to open file (" . $self->file . ") for loading : $!"; - return do { local $/; <$fh>; }; +sub load { + my ($self) = @_; + my $fh = IO::File->new($self->file, 'r') + || confess "Unable to open file (" . $self->file . ") for loading : $!"; + return do { local $/; <$fh>; }; } sub store { - my ($self, $data) = @_; - my $fh = IO::File->new($self->file, 'w') - || confess "Unable to open file (" . $self->file . ") for storing : $!"; - print $fh $data; + my ($self, $data) = @_; + my $fh = IO::File->new($self->file, 'w') + || confess "Unable to open file (" . $self->file . ") for storing : $!"; + $fh->binmode(':utf8') if utf8::is_utf8($data); + print $fh $data; } 1; @@ -62,7 +60,7 @@ This provides the actual means to store data to a file. =head1 BUGS -All complex software has bugs lurking in it, and this module is no +All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT. @@ -74,7 +72,7 @@ Stevan Little Estevan.little@iinteractive.comE =head1 COPYRIGHT AND LICENSE -Copyright 2007 by Infinity Interactive, Inc. +Copyright 2007-2008 by Infinity Interactive, Inc. L