in reply to Re: A maybe(?) interesting comp-sci type problem
in thread A maybe(?) interesting comp-sci type problem

Two quick notes:

Your inner while is redundant with your outer while. You can get rid of
push @ret, [ shift ] while @_ and (! $_[1] or ! ref $_[1]);

It wouldn't have hurt to note that your function destroys the original data structure.

Update: Me bad.

Replies are listed 'Best First'.
Re^3: A maybe(?) interesting comp-sci type problem
by shmem (Chancellor) on May 06, 2008 at 09:32 UTC
    It wouldn't have hurt to note that your function destroys the original data structure.

    No, it doesn't. It doesn't operate directly on $_[n], but makes copies. The original is untouched.

    --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}