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