I understand that $_ is local. This is why I assign it to the $results variable. That variable is global.
The strange part is that $result="test" will work outside the loop. To me, this would seem that since $result is initialized with "my" before the loop, I can use it inside out outside the loop. And, this works for almost all variables, $results="test" is good. So it seems to be correct. However, the problem is when I use $result=$_