in reply to array of arrays - context problem

Update: As mentioned below, I should have mentioned some of the dangers in using symbolic references. I assumed that the example above was a simple case of what the author needed to do (for whatever reason), which is why I didn't suggest alternatives, such as arrays of arrays. They should put a warning on cold medication that suggests people should not use PerlMonks when taking this medication! :-)

If you want to access a variable when by name, you want to use symbolic dereferencing, which is done like any other type of dereferencing:

foreach (@masterarrray) { my @array = @$_; print int @array; # prints the length of the array print "@array"; # prints the contents # ... etc ... }

Likewise, you can access the array without a temp variable like this:

foreach (@masterarrray) { print int @$_; # prints the length of the array print "@$_"; # prints the contents print $$_[0]; # prints the 0th element # ... etc ... }

Ted Young

($$<<$$=>$$<=>$$<=$$>>$$) always returns 1. :-)

Replies are listed 'Best First'.
Re^2: array of arrays - context problem
by hardburn (Abbot) on Jan 13, 2005 at 18:39 UTC

    Any post that suggests the use of symbolic references (except, maybe, dynamically inserting subroutines into a package) should have a note that says "but you don't want to do that" at the end. Followed by an explaination of a better way (which other posters have already shown).

    "There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.