in reply to loop thru 3-element array?

Just use the C-style for loop. Many people will automatically balk at it, but it's more flexible than the Perlish loop. This is a case where you want to use it:
for (my $i=0; $i<@dynval3; $i+=3) { change_value(@dynval3[$i..$i+2]) }
This assumes @dynval3 has a size that's a multitude of 3.