sub flatten { my @ret = (); while (@_) { my $k = shift; if (ref $_[0]) { my $v = shift; push @ret, [ $k, @$_ ] for flatten(@{$v}); } else { push @ret, [ $k ]; # push @ret, [ shift ] while @_ and (! $_[1] or ! ref $_[1] +); } } @ret; } use Data::Dumper; print Dumper([flatten(@{$data_struct})]);
update: flattened code (see below :)
--shmem
_($_=" "x(1<<5)."?\n".q·/)Oo. G°\ /
/\_¯/(q /
---------------------------- \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
In reply to Re: A maybe(?) interesting comp-sci type problem
by shmem
in thread A maybe(?) interesting comp-sci type problem
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |