There is some misunderstanding here. Parts of the information regarding what I was trying to accomplish were spread out over subsequent posts but many are missing the one point since the first thread. I know why this doesn't work (once I tried it) and I know a million ways to fix it, yet
I was suprised that Perl cannot use any lvalue in the iterator slot. Which I wish I named this thread :)
The reason I tried it in the first place instead of just abondoning $p{data} was that the routine and some called by it expect to be able to reference _PARAMETER_ in the user defined error messages. The error messages replace _NAME_ with $p{NAME} using a regex which is why I did not want to refactor it. That means for the current parameter it must be set or everything retooled. I tried to fix it in the laziest and safest way which did not work which was fine because I went the second laziest way.
for my $data (@data){
$p{data} = $data;
...
}
-Lee
"To be civilized is to deny one's nature."