I'm not sure I fully understnad what you're trying to do and what exactly the problem is. (saying what you have and what you want to have is like saying "I want to get from point A to point B. Can you show me the path?", and of course, between point A and point B, there's an infinite number of paths.) But I will try my best shot. So..as far as I understand, the problem is you can't contain the additional data you want in the final result array (@ref) in the array you use to build it (@names) because @names is later used to grab the next results. Hence, we should build @ref directly from $res. Here's how I would write the code:
my @ref; my @names = $username = $mem_info[2]; #Scalar assignment returns the a +ssigned value, you can use it. my $base_sql=q{SELECT username,status FROM members WHERE referral }; while (@names) { #No scalar() needed - boolean context is just a speci +al kind of scalar context. my $sql=$base_sql.($#names?'in ('.join(',',map('?',@names)).')':'=?' +); my $sth=$dbh->prepare($sql); my $rv=$sth->execute(@names); my $res = $sth->fetchall_arrayref(); @names=map($_->[0],@$res); #Use map to map by each value of the arra +y, instead of by indices. push @ref, join '|',map("$_->[0]=$_->[1]",@$res) if @$res; #@names c +ontains as many values as @$res does. last if $#ref == 2 ; }
hth..

In reply to Re: Adding to this by Ido
in thread Adding to this by Anonymous Monk

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.