http://qs321.pair.com?node_id=112665


in reply to referring to individual elements after fetchrow_arrayref finds a '1' attached

There's not enough information to answer this. I'd debug this by printing $array_ref_partial inside the while loop. I'm also not sure why you're pushing an array reference containing an array reference onto @rows_partial, but without seeing your printing code, I can't be sure that's wrong.
while ($array_ref_partial = $sth2->fetchrow_arrayref) { warn join(' | ', @$array_ref_partial), "\n"; push @rows_partial, $array_ref_partial; push @partial_famids, $array_ref_partial->[1]; }
On the other hand, since DBI reuses the same reference each time for fetchrow_arrayref(), you might mean something like this:
push @rows_partial, [ @$array_ref_partial ];
That fits more in line with your comment about copying the array.

Replies are listed 'Best First'.
Re: Re: referring to individual elements after fetchrow_arrayref finds a '1' attached
by scratch (Sexton) on Sep 17, 2001 at 19:18 UTC
    Thanks. You're correct when you pointed out that it was curious I was pushing the array reference onto @rows_partial. I 'm really pushing the values therein so my code does read

    push @rows_partial, [ @$array_ref_partial ];

    What I'm trying to do is create an array (@partial_famids) that contains not all the elements returned by fetchrow_arrayref, but only the 2nd elements in each array returned.

    My code to print the values of @partail_famids is just this:

    foreach $id (@partial_famids) { print "This famid is: $id \n", }

    I can't seem to get something through my thick skull. The values of $id each have a number '1' attached to them (smith1, davis1, etc), and like I said this seems to be the reference from fetchrow_arrayref, but I'm at a loss when I'm thinking about other ways to do this.

    I suppose I could run another fetchrow_array query, but it seems like I should be able to pull individual elements from the fetchrow array_ref query and stash them.

    Densely yours, scratch