Michael Aquilina > Stringify-Deep > Stringify::Deep

Download:
Stringify-Deep-0.02.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.02   Source  

NAME ^

Stringify::Deep - Stringifies elements in data structures for easy serialization

SYNOPSIS ^

  my $struct = {
      foo => 1,
      bar => [ 1, 2, 7, {
          blah => $some_obj, # Object that's overloaded so it stringifies to "1234"
          foo  => [ 1, 2, 3, 4, 5 ],
      } ],
  };

  $struct = deep_stringify($struct);

  # $struct is now:
  # {
  #     foo => 1,
  #     bar => [ 1, 2, 7, {
  #        blah => "1234",
  #        foo  => [ 1, 2, 3, 4, 5 ],
  #     } ],
  # }

DESCRIPTION ^

Let's say that you have a complex data structure that you need to serialize using one of the dozens of tools available on the CPAN, but the structure contains objects, code references, or other things that don't serialize so nicely.

Given a data structure, this module will return the same data structure, but with all contained objects/references that aren't ARRAY or HASH references evaluated as a string.

FUNCTIONS ^

deep_stringify( $struct, $params )

Given a data structure, returns the same structure, but with all contained objects/references other than ARRAY and HASH references evaluated as a string.

Takes an optional hash reference of parameters:

DEPENDENCIES ^

Data::Structure::Util, Scalar::Util

AUTHORS ^

Michael Aquilina <aquilina@cpan.org>

COPYRIGHT AND LICENSE ^

Copyright (C) 2012 Michael Aquilina.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: