Data-SplitSerializer
view release on metacpan or search on metacpan
lib/Data/SplitSerializer.pm view on Meta::CPAN
'a[0]' => { your => 'hash' }
) );
# Returns:
$round_trip = {
'a[0].your' => 'hash',
};
# Now protect the hash
my $round_trip = $dss->serialize( $dss->deserialize_pathval(
'a[0]' => \{ your => 'hash' }
) );
# Returns:
$round_trip = {
'a[0]' => \{ your => 'hash' }
};
=head2 Sparse arrays and memory usage
Since arrays within paths are based on indexes, there's a potential security issue with large indexes causing abnormal memory usage.
In Perl, these two arrays would have drastically different memory footprints:
my @small;
$small[0] = 1;
my @large;
$large[999999] = 1;
This can be mitigated by making sure the Path style you use will limit the total digits for array indexes. L<Parse::Path> handles
this on all of its paths, but it's something to be aware of if you create your own path classes.
=head1 TODO
This module might split off into individual split serializers, but so far, this is the only one "out in the wild".
=head1 SEE ALSO
L<Parse::Path>
=head1 ACKNOWLEDGEMENTS
Kent Fredric for getting me started on the basic idea.
=head1 AVAILABILITY
The project homepage is L<https://github.com/SineSwiper/Data-SplitSerializer/wiki>.
The latest version of this module is available from the Comprehensive Perl
Archive Network (CPAN). Visit L<http://www.perl.com/CPAN/> to find a CPAN
site near you, or see L<https://metacpan.org/module/Data::SplitSerializer/>.
=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
=head1 SUPPORT
=head2 Internet Relay Chat
You can get live help by using IRC ( Internet Relay Chat ). If you don't know what IRC is,
please read this excellent guide: L<http://en.wikipedia.org/wiki/Internet_Relay_Chat>. Please
be courteous and patient when talking to us, as we might be busy or sleeping! You can join
those networks/channels and get help:
=over 4
=item *
irc.perl.org
You can connect to the server at 'irc.perl.org' and talk to this person for help: SineSwiper.
=back
=head2 Bugs / Feature Requests
Please report any bugs or feature requests via L<https://github.com/SineSwiper/Data-SplitSerializer/issues>.
=head1 AUTHOR
Brendan Byrd <BBYRD@CPAN.org>
=head1 CONTRIBUTOR
Brendan Byrd <bbyrd@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2013 by Brendan Byrd.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
=cut
( run in 1.611 second using v1.01-cache-2.11-cpan-39bf76dae61 )