Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: array references in DBI

by ioannis (Vicar)
on May 13, 2006 at 09:48 UTC ( #549207=note: print w/ replies, xml ) Need Help??


in reply to array references in DBI

Note. The code that worked came close to not working either. Each iteration tried to save the same reference!
push @OrderedQuestions, \@an ;
It only worked because @an was declared lexical and not global:

This almost identical code will not work
with the keyword my is missing:

while ( @an = $sth->fetchrow_array) { push (@OrderedQuestions, \@an); }


Comment on Re: array references in DBI
Download Code
Re^2: array references in DBI
by BrianC (Acolyte) on May 13, 2006 at 16:14 UTC
    Thank you for pointing this out. What if @an was lexical but declared before the while loop? I would have the same problem, no?
      Yes, you would be pushing the same array ref every time, and the contents would change afterwards.

      Test code (no DBI involved):

      my @rows; my @row = qw(one two); push @rows, \@row; @row = qw(three four); use Data::Dumper; print Dumper \@rows; __END__ $VAR1 = [ [ 'three', 'four' ] ];

      As you can see, the contents of the collating array changes after you put it in there.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://549207]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (11)
As of 2015-07-07 12:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (88 votes), past polls