in reply to more dbi issues

That qw construct is very weird. To get what you want, first create the m-d array as my @list_of_teamdata = [][];, then as you progress through the SQL results, you can assign the items as $list_of_teamdata[$i][0] = $row[0];, where $i is an incremented pointer.

Update: as ar0n points out below, you can't initialize the array like that, but it's still possible to get everything into an MD array...trust myself to make that mistake while being able to spot all the April Fools jokes :-/ <?P>


Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain

Replies are listed 'Best First'.
(ar0n) Re (2): more dbi issues
by ar0n (Priest) on Apr 01, 2001 at 21:53 UTC
    No, you can't do that.

    The '@' means whatever is right of '=' should be a list. [] returns a reference to an anonymous array, which is a scalar.

    The qw construct is weird indeed. qw allows for a list of barewords separated by whitespace to be considered a list of elements in an array. Putting quotes around them makes it clear he doesn't understand what it does.

    What the Anonymous Monk wants is this:
    while (@row = $sth5->fetchrow_array) { push @list_of_teamdata, [ @row ]; }
    This will push a reference to a copy of the @row array onto @list_of_teamdata.

    Then you can access it like this:
    print $list_of_teamdata[0][1]; # prints $teamname print $list_of_teamdata[4][2]; # prints $score


    Oh, and you might want to consider using placeholders (search for 'placeholder' in the DBI manpage)...

    [ar0n]

Re: Re: more dbi issues
by Anonymous Monk on Apr 01, 2001 at 21:24 UTC
    i tried tah and i get a sytax error by the assignment step
Re: Re: more dbi issues
by Anonymous Monk on Apr 01, 2001 at 21:25 UTC
    i tried that and i get a sytax error by the assignment step
    @list_of _teamdata = [][];
    any suggesions??