in reply to Using an array element as a loop iterator
Anyway like always there is a way to do it in Perl!
(... but "easy" isn't necessarily the first attribute which comes to mind here... neither is "recommendable"² ;-)
The following code tries to cover all thinkable use cases:
my @a="a".."c"; my @b=1..3; print "@a\n"; our $alias; *alias=\$a[2]; { local $a[1]; # otherwise $a[1] is undefined after the loop while ( $a[1] = <@b>) { $alias=$a[1]+1; print "@a\n"; } } print "@a\n"; __END__ a b c a 1 2 a 2 3 a 3 4 a b 4
Cheers Rolf
( addicted to the Perl Programming Language)
¹) from perlglossary
iterator A special programming gizmo that keeps track of where you a +re in something that you’re trying to iterate over. The "foreach +" loop in Perl contains an iterator; so does a hash, allowing you +to each through it.
²) NB the elements of @b are stringified in the loop...
|
|---|