The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Encode::Deep - Encode or decode each element of a reference and it's sub-references.

VERSION

Version 0.01

SYNOPSIS

Apply any encoding on a reference and all references within the parent.

Supports hash, array and scalar reference but no blessed references (objects), croaks on unknown refrences.

Perhaps a little code snippet.

    use Encode::Deep;

    Encode::Deep::encode($encoding, $reference);

    Encode::Deep::decode($encoding, $reference);

OTHER CHOICES

Deep::Encode is also on CPAN but can't handle circular references while this module recreates them as copies to new circular references. Deep::Encode does it's changes in-place modifying the original reference which might be what you want or not.

EXPORT

A list of functions that can be exported. You can delete this section if you don't export anything, such as for a purely object-oriented module.

FUNCTIONS

encode

    $copy_ref = Encode::Deep::encode($encoding, $ref);

Walks through the given $ref and runs Encode::encode($encoding, $value) for every non-reference value.

See Encode::encode for more information about the encode call being used for recoding.

Returns a deep copy of the original reference meaning that every value and reference will be copied.

decode

    $copy_ref = Encode::Deep::decode($encoding, $ref);

Walks through the given $ref and runs Encode::decode($encoding, $value) for every non-reference value.

See Encode::decode for more information about the decode call being used for recoding.

Returns a deep copy of the original reference meaning that every value and reference will be copied.

AUTHOR

Sebastian Willing, <sewi at cpan.org>

BUGS

Please report any bugs or feature requests to bug-encode-deep at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Encode-Deep. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Encode::Deep

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2012 Sebastian Willing, eGENTIC Systems http://egentic-systems.com/karriere/

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.