license => 'perl',
requires => {
'perl' => '5.006_000',
- 'Digest::MD5' => '1.00',
'Fcntl' => '0.01',
'Scalar::Util' => '1.14',
+ 'Digest::MD5' => '1.00',
'FileHandle::Fmode' => '0.05',
},
optional => {
Revision history for DBM::Deep.
-1.0006 Oct 01 11:15:00 2007 EDT
+1.0006 Oct 01 23:15:00 2007 EDT
- (This version is compatible with 1.0005)
- Removed Clone and replaced it with a hand-written datastructure walker.
- - This heavily reduces the footprint of a large import
+ - This greatly reduces the footprint of a large import
+ - This bypasses a failure of Clone under Perl 5.9.5
- Moved t/37_delete_edge_cases.t to t_attic because it wasn't really used
- import() has a stricter API now. This is a potentially incompatible API
- change.
+ change. Only HASH and ARRAY refs are now allowed and they must match the type
+ of the object being imported into.
1.0005 Oct 01 11:15:00 2007 EDT
- (This version is compatible with 1.0004)
------------------------------------------ ------ ------ ------ ------ ------
File stmt bran cond sub total
------------------------------------------ ------ ------ ------ ------ ------
- blib/lib/DBM/Deep.pm 96.9 88.3 90.5 100.0 95.7
+ blib/lib/DBM/Deep.pm 97.2 90.9 83.3 100.0 95.4
blib/lib/DBM/Deep/Array.pm 100.0 95.7 100.0 100.0 99.0
- blib/lib/DBM/Deep/Engine.pm 95.5 84.7 81.6 98.4 92.4
+ blib/lib/DBM/Deep/Engine.pm 95.6 84.7 81.6 98.4 92.5
blib/lib/DBM/Deep/File.pm 97.2 81.6 66.7 100.0 91.9
blib/lib/DBM/Deep/Hash.pm 100.0 100.0 100.0 100.0 100.0
- Total 96.7 87.0 83.3 99.2 94.1
+ Total 96.7 87.5 82.2 99.2 94.1
------------------------------------------ ------ ------ ------ ------ ------
=head1 MORE INFORMATION
}
# Rebless the object into DBM::Deep::Null.
- %{ $self->engine->cache->{ $self->offset } } = ();
+ eval { %{ $self->engine->cache->{ $self->offset } } = (); };
+ eval { @{ $self->engine->cache->{ $self->offset } } = (); };
bless $self->engine->cache->{ $self->offset }, 'DBM::Deep::Null';
delete $self->engine->cache->{ $self->offset };
}
{
- diag "\nThere seems to be a bug in Clone on Perl 5.9+ that is causing\nthese tests to fail."
- if $] >= 5.009;
-
my ($fh, $filename) = new_fh();
my $db = DBM::Deep->new({
file => $filename,
"-version $v",
);
+ # Clone was removed as a requirement in 1.0006
+ if ( $output =~ /Can\'t locate Clone\.pm in \@INC/ ) {
+ ok( 1 );
+ unless ( $input_filename =~ /_/ || $v =~ /_/ ) {
+ ok( 1 ); ok( 1 );
+ }
+ next;
+ }
+
if ( $input_filename =~ /_/ ) {
is(
$output, "'$input_filename' is a dev release and not supported.\n$short",
my $mod = $headerver_to_module{ $ver };
eval "use $mod;";
+ if ( $@ ) {
+ _exit( "Cannot load '$mod' to read header version '$ver':\n\t$@" );
+ }
$db{input} = $mod->new({
file => $opts{input},
locking => 1,
my $mod = $headerver_to_module{ $ver };
eval "use $mod;";
+ if ( $@ ) {
+ _exit( "Cannot load '$mod' to read header version '$ver':\n\t$@" );
+ }
$db{output} = $mod->new({
file => $opts{output},
locking => 1,