You can use placeholders and pull the prepare() out of the loop, but what's tripping you up is the way you're (not) lexically scoping your variables when you're doing recursion.

You're also treating @info as both a global and a return value (from each level of the recursion). I think that's not what you indend.

This is pretty easy to debug. Each time you push a value onto @info, print $name, $parent, and the value that you're pushing. Then ponder carefully just how it is that those values are what they are. For extra learning potential, do this on paper before you run the script, and compare your paper results with what gets printed.


In reply to Re: Looping through MySQL by dws
in thread Looping through MySQL by andrew

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.