2

Moose オブジェクトの配列を YAML または JSON に保存しようとしました。

保存は非常にうまく機能しますが、オブジェクトを復元しようとすると、オブジェクトが空になります:

$VAR1 = bless({}, 'Note');
$VAR2 = bless({}, 'Note');

これが私のコードです:

注.pm:

package Note;
use strict;
use warnings;
use Moose;
use MooseX::Storage;

with Storage('format' => 'JSON', 'io' => 'File');

has 'message' =>(is=> 'rw', isa =>'Str');

1;

testNote.pl:

use strict;
use warnings;
use utf8;
use feature 'say';
use Note;
use Storable;
use MooseX::Storage;
use Data::Dumper;
use JSON;

my @container=();

my $obj = Note->new;

$obj->message("firstmessage");
say $obj->message;

push(@container,$obj);

my $obj2 = Note->new;
$obj2->message("secondmessage");

push(@container,$obj2);

my @output=();

for my $counter (0 .. $#container){
    push(@output,$container[$counter]->pack());
}
say "Output packed strings:" ;
for my $counter(0 .. $#output){ 
    say $output[$counter];
}

store \@output, 'saveNotes';

my @Notes=();

my @fin=@{retrieve('saveNotes') };
say "After reading file:";

@Arr=();
for my $counter (0 .. $#fin){
    push(@Arr,Note->unpack($fin[$counter]));
}

say Dumper(@Arr);

誰かが助けてくれることを願っています:)

4

0 に答える 0