bfdi533 has asked for the wisdom of the Perl Monks concerning the following question:

I am trying to use Text::Graph and it says it is called as follows:
my $graph = Text::Graph->new( 'Bar' ); print $graph->to_string( [1,2,4,5,10,3,5], labels => [ qw/aaaa bb ccc dddddd ee f ghi/ ] +, );
I am looking through a database result set and generating what I thought was an "array" as follows:
while (@rowdata = $sth->fetchrow_array()) { push (@chart_data, $rowdata[2]+0); push (@chart_labels, $rowdata[0].' '.$rowdata[1].':00'); } $graph->to_string(@chart_data, labels=>@chart_labels);

The issue is that my "array" craps out when I call

as I do not think it is the "same kind of array" that it is expecting.

How do I create the kind of "array" the example call is expecting?

Replies are listed 'Best First'.
Re: How to create a "proper" array?
by Paladin (Vicar) on Apr 10, 2015 at 19:31 UTC
    [1,2] is an array reference, not an array. To get an array reference from an array, use  \@arrayname. So in your second case:
    while (@rowdata = $sth->fetchrow_array()) { push (@chart_data, $rowdata[2]+0); push (@chart_labels, $rowdata[0].' '.$rowdata[1].':00'); } $graph->to_string(\@chart_data, labels=>\@chart_labels);
      Ah, I see. I was not aware of that. Thank for the pointer.
        Thank for the pointer.

        Made me smile.