X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=lib%2FOnis%2FData%2FPersistent%2FNone.pm;h=c8b77fd2ae3f88d7e00bba75b852e6cccae30d6b;hb=119c9ff55d96a87f2b0a1cd66460c53c50cb8127;hp=b9a702050b4319f819dbdb9bf8e063120945e536;hpb=f980a0f03f3f7727a602b94251f8d6d1e3a15178;p=onis.git diff --git a/lib/Onis/Data/Persistent/None.pm b/lib/Onis/Data/Persistent/None.pm index b9a7020..c8b77fd 100644 --- a/lib/Onis/Data/Persistent/None.pm +++ b/lib/Onis/Data/Persistent/None.pm @@ -2,10 +2,10 @@ package Onis::Data::Persistent::None; use strict; use warnings; - use vars (qw($TREE)); -use Carp qw(confess); +use Carp qw(carp confess); +use Exporter; =head1 NAME @@ -21,7 +21,13 @@ None. =cut -$TREE = {}; +@Onis::Data::Persistent::None::EXPORT_OK = (qw($TREE)); +@Onis::Data::Persistent::None::ISA = ('Exporter'); + +if ($::DEBUG & 0x0200) +{ + require Data::Dumper; +} return (1); @@ -51,6 +57,14 @@ sub new $obj->{'num_fields'} = scalar (@fields); $obj->{'field_index'} = {map { $_ => $i++ } (@fields)}; $obj->{'id'} = $id; + + if ($::DEBUG & 0x0200) + { + my $prefix = __FILE__ . ': '; + my $dbg = Data::Dumper->Dump ([$obj], ['obj']); + $dbg =~ s/^/$prefix/mg; chomp ($dbg); + print STDOUT $/, $dbg; + } return (bless ($obj, $pkg)); } @@ -64,10 +78,15 @@ sub put if ($obj->{'num_fields'} != scalar (@fields)) { my $id = $obj->{'id'}; - print STDERR $/, __FILE__, ": Number of fields do not match ($id)."; + carp ("Number of fields do not match ($id)."); return; } + if ($::DEBUG & 0x0200) + { + print STDOUT $/, __FILE__, ': PUT(', $obj->{'id'}, ', ', $key, ') = (' . join (', ', @fields) . ')'; + } + $obj->{'data'}{$key} = [@fields]; } @@ -81,6 +100,11 @@ sub get return (qw()); } + if ($::DEBUG & 0x0200) + { + print STDOUT $/, __FILE__, ': GET(', $obj->{'id'}, ', ', $key, ') = (' . join (', ', @{$obj->{'data'}{$key}}) . ')'; + } + return (@{$obj->{'data'}{$key}}); } @@ -117,6 +141,17 @@ sub keys }, @keys); } +sub del +{ + my $obj = shift; + my $key = shift; + + if (defined ($obj->{'data'}{$key})) + { + delete ($obj->{'data'}{$key}); + } +} + =head1 AUTHOR Florian octo Forster, L