fix checksuming
[gitmo/MooseX-Storage.git] / lib / MooseX / Storage / Base / WithChecksum.pm
index 1772d6f..cf1ebdf 100644 (file)
@@ -7,7 +7,8 @@ use Data::Dumper ();
 
 use MooseX::Storage::Engine;
 
-our $VERSION = '0.01';
+our $VERSION   = '0.01';
+our $AUTHORITY = 'cpan:STEVAN';
 
 our $DIGEST_MARKER = '__DIGEST__';
 
@@ -48,7 +49,12 @@ sub _digest_packed {
     {
         local $Data::Dumper::Indent   = 0;
         local $Data::Dumper::Sortkeys = 1;
-        $d->add( Data::Dumper::Dumper($collapsed) );
+        local $Data::Dumper::Terse    = 1;
+        local $Data::Dumper::Useqq    = 0;
+        local $Data::Dumper::Deparse  = 0; # FIXME?
+        my $str = Data::Dumper::Dumper($collapsed);
+        $str =~ s/(?<! ['"] ) \b (\d+) \b (?! ['"] )/'$1'/gx; # canonicalize numbers to strings even if it mangles numbers inside strings
+        $d->add( $str );
     }
 
     return $d->hexdigest;