Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Parsing complex data

by themage (Friar)
on Jul 15, 2005 at 15:57 UTC ( #475267=note: print w/replies, xml ) Need Help??


in reply to Parsing complex data

Hi,

I'ld do it like this:
#!/usr/bin/perl -w use strict; sub printstruct { my $struct=shift; my $main=shift||0; my $ret=$main?"\n":" "; my $item; if (ref $struct eq "ARRAY") { for $item (sort @$struct) { printstruct($item); } } elsif (ref $struct eq "HASH") { for $item (sort keys %$struct) { print $item," " if $main; printstruct($struct->{$item}); print $ret; } } else { print $struct,$ret; } } my $struct={ mykey1 => { 'firstkey' => 'firstvalue', 'secondkey' => 'secondval' + }, mykey2 => { 'ninza' => 'turtle', 'Hurricane' => 'Dennis' }, mykey3 => [ [ 'one', 'two', 'three' ] ], mykey4 => [ [ 4, 5, 'three' ], [ 6, 7, 'four' ], [ 8, 9, 'five' ] +], }; printstruct($struct,1);
Note that I was unsure which the correct data struct was, so I made some changes in it as you can see. This would work for any struct with the three basic data types.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://475267]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2020-05-28 21:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If programming languages were movie genres, Perl would be:















    Results (166 votes). Check out past polls.

    Notices?