http://www.perlmonks.org?node_id=1014965


in reply to Multidimensional arrays within arrays

Thank you muba for the suggestion. I've reformulated the problem to the simplest level. See if you can figure out what is wrong. Following is the sample code

sub A { ... foreach $key(@some array) # eg: array contains values like Sunday, Mon +day , Tuesday..etc { ... ... ... push(@{$key[0]}, #some values); #create dereferenced array push(@{$key[1]}, #some values); #eg: Monday has # @Monday = ([1,23,4,8,], + # [12,58,77,9]); .. .. # what do i do here ?? } sub B #to be called by the user after running the sub A for the first +time { .. print "Enter the day to be plot: "; $a = <>; #this value is to be matched to the array name i.e Monday to + be plotted, .. # once the corresponding array is found , we plot the values + }
I'm thinking of the following solns :

1. Save the references for each of these dereferenced arrays as a variable and save it as a separate array and make the array global (or return it to the parent function and make it global)
2. Save each of the dereferenced arrays as global variables and try to access using Sub B ( what i have been trying but no luck so far).

Please suggest.. ( I'm new to perl .. I'm sorry if the above points seem foolish)..
Update: I think the naming convention for the array variable seems to be causing the issue Coz when i try to return the references for each of the arrays , it gives me the same scalar value(reference ) for different elements.. I need a way out of this and quick .!! Please help