Cc wrote:
> 
> Hi,

Hello,

> I'm a beginner at PERL.  I've used it on and off, but only
> just recently got myself back into the picture.  I figured
> that if you forget something in PERL, it'd be easy to take
> it up again.  So far, I'm not too sure of the ease
> of taking up PERL again.  Before, I made a few perl scripts.
> Now, when I look back, I find the whole thing overwhelming.
> Even with comments...Anyway, I digress..
> 
> I have a text file with each line of the following format:
> 
> string1  string2  val1 val2 val3
> 
> I'm trying to read it into an array of arrays so I can
> stick it in the creategraph() function to create a  line
> graph.
> 
> So far, if I specifically create an array constant:
> 
> ie.
> 
> my(@data) = ( ["test 1",0.34,0.56,0.33],
>                  ["test 2",0.44,0.55,0.22],
>                   ["final test",0.67,0.22,0.54])
> 
> my($grp) = new GD::Graph::linespoints();
> 
> and then put that in the $grp->plot([EMAIL PROTECTED]) function, I get
> a graph.
> 
> But, if I use the following code:
> 
> while (<MYFILE>){
>        chomp($_);
>        @info = split(" ",$_);
>        my($strngval) = "\"$info[0] $info[1]\"";
>        $strval = "$strval,$strngval";
>        $m1vals = "$m1vals,$info[2]";
>        $m2vals = "$m2vals,$info[3]";
> }

>From your description, you probably want something like this:

my @data;

while ( <MYFILE> ) {
    my ( $str1, $str2, @info ) = split;
    push @data, [ "$str1 $str2", @info ];
}


> my (@sv) = split(",",$strval);
> my(@m1) = split(",",$m1vals);
> my(@m2) = split(",",$m2vals);
> 
> my(@data) = (@sv,@m1,@m2);
> 
> Are @sv, @m1 and @m2 all arrays?

Yes.

> So, would @data be an array of arrays?

No.

> Or are the @sv, @m1 and @m2 arrays
> flattened out, making @data just an array?

Yes.

> The thing is, with the fixed way of doing the graph,
> and when I print out @data, I get
> 
> ARRAY(....) ARRAY(....) ARRAY(...)

Those are references to arrays.  That is how Perl enables the use of
multidimensional data structures.

> But with the 'dynamic' way, I just get
> ARRAY(...)
> 
> where (....) are memory locations in Hex, I believe.

Yes.

> Can someone point out what I'm doing wrong?

You could use the Data::Dumper module to display the contents of @data:

use Data::Dumper;

print Dumper( [EMAIL PROTECTED] );



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to