in reply to Array loops and assignments

So you're taking an array, and trying to assign it to numbered variables? I'm having a tough time understanding why you would need to do this?

I mean, you've already got that in the form of $myNames[0], etc. If you need something dynamic, a hash may be what you need.

Replies are listed 'Best First'.
Re^2: Array loops and assignments
by madbee (Acolyte) on Jul 07, 2013 at 19:46 UTC

    @Preceptor: Right. I want to store each element of the array in a variable of its own. So instead of assigning it to individual variables, I was hoping to build the variable and assign it on the fly. Makes sense? Perhaps,I'm overcomplicating this... Thanks!

      Definitely overcomplicating it. Try this idiom: Think of a hash as a namespace, and its elements as variables within that namespace.

      my @array = qw( Larry Curly Moe ); my %stooges; @stooges{ @array } = ( 0 .. $#array ); print "$_ = $stooges{$_}\n" for keys %stooges;

      Or if you want numbers in the name:

      %stooges = map { 'var' . $_ , $array[$_] } 0 .. $#array;

      Dave

      madbee:

      OK, I'll bite: Why? What are you going to be able to do with the variables that you can't already do with the array?

      ...roboticus

      When your only tool is a hammer, all problems look like your thumb.