The following module was proposed for inclusion in the Module List:
modid: Data::BFDump
DSLIP: bdpOp
description: Dumps data structures in breadth first order
userid: YVES (Yves Orton)
chapterid: 6 (Data_Type_Utilities)
communities:
Perlmonks.org
similar:
Data::Dumper, Data::Dump, Data::*
rationale:
I wrote this module after getting frustrated with Data::Dumper and
Data::Dump doing depth first traversals (which for complex and self
referential structures is hopelessly confusing and difficult to
analyse). In addition I have added features like duping coderefs
using B::Deparse. Tested against Data::Dumper and Data::Dump
(sortof, Data::Dump has some crippling bugs) Data::BFDump is far
more accurate (and much more readable) than either of the above.
Breadth first order ensures that objects are placed as high up in
the data structure as possible (and thus have the shortest paths)
this much more closely mirrors the way most programmers think of
their data structures.
Additionally the breadth first nature means that Data::BFDump (moe
or less) must do a catalog of the datastructure before it dumps
which allows various interesting opportunities, such as predeclaring
multiply referenced variables so as minimize the number of post
declaration "fix" statements that are required.
A number of other features for development analysis are already
implemented or on the drawing board such as - DiffStructs do a deep
level diff of two structures using Algorith::Diff - Various
indentation options not provided by Data::Dumper
Ultimately Data::BFDump will support the full interface of
Data::Dumper (currently it only supports the more commonly used
attributes)
enteredby: YVES (Yves Orton)
enteredon: Mon May 6 18:28:20 2002 GMT
The resulting entry would be:
Data::
::BFDump bdpOp Dumps data structures in breadth first order YVES
Thanks for registering,
The Pause Team
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=0a100000_3356f532a9cbb9de&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=0a100000_3356f532a9cbb9de&SUBMIT_pause99_add_mod_insertit=1