I have written a subroutine that takes an array reference and processes the array. It is called somewhat like this:

Code

my @array; &processArray(\@array);

However, after calling &processArray, @array remains unaltered. Within &processArray the processing definitely takes place but the changes are not reflected in @array. Why is this? If \@array really is a reference to @array then &processArray should be operating directly on @array and not some copy which is local to the subroutine.