Apache-Session-MongoDB
view release on metacpan or search on metacpan
lib/Apache/Session/Serialize/MongoDB.pm view on Meta::CPAN
my $session = shift;
&restoreSpecialCharacters( $session->{data} );
}
sub replaceSpecialCharacters {
my $data = shift;
foreach my $key ( keys %$data ) {
if ( $key =~ /(\.|\$)/ ) {
my $oldkey = $key;
$key =~ s:\$:\\u0024:g;
$key =~ s:\.:\\u002e:g;
$data->{$key} = $data->{$oldkey};
delete $data->{$oldkey};
}
if ( ref( $data->{$key} ) eq 'HASH' ) {
&replaceSpecialCharacters( $data->{$key} );
}
}
}
sub restoreSpecialCharacters {
my $data = shift;
foreach my $key ( keys %$data ) {
if ( $key =~ /(\\u0024|\\u002e)/ ) {
my $oldkey = $key;
$key =~ s:\\u0024:\$:g;
$key =~ s:\\u002e:.:g;
$data->{$key} = $data->{$oldkey};
delete $data->{$oldkey};
}
if ( ref( $data->{$key} ) eq 'HASH' ) {
&restoreSpecialCharacters( $data->{$key} );
}
}
}
( run in 0.652 second using v1.01-cache-2.11-cpan-7add2cbd662 )