> following the example in the perldsc (data structures cookbook), i
wrote this 
> piece of code to create an array of arrays from a data file :  
> 
> 
> #!/usr/bin/perl -w
> use strict ;
> 
> my @AofA ; # array of arrays of file contents
> open (fh1, "</path/to/filename/filename.txt") or die ("no can do") ;
> while (<fh1>) {
>     push @AofA, (split /\t/) ;

Your split is pushing the list that it generates onto the end of the
array, rather than pushing a single element (an anonymous array
reference onto the array).  So you need,

push @AofA, [ split /\t/ ];

Square brackets declare an anonymous array reference.  In addition to
perldsc you may want to read through

perldoc perllol
perldoc perlreftut
perldoc perlref

http://danconia.org

> }
> 
> close (fh1) ;
> 
> print $AofA[0] ; 
> print "\n" ;
> # this gives me "cho" when what i wanted was "cho   249   837"
> # later, i was hoping to use $AofA[0][0] to access "cho"
> 
> an example of the file follows (fields are separated by tabs in "real
life")
> cho     249    837
> abc     123    456
> abc     984    235
> nurb    246    973
> 
> 
> it appears the problem is where i am doing the "push" while reading
the file.
> 
> suggestions?
> 


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to