The way I do it is as follows.
block
(
[array1, array2, _var1, _var2],
local(array1,array2),
/* do some stuff */
)$
By using local this way the hashed arrays are removed automatically when the block exits. Also you can use recursive
calls and it will still work, (I think I have done this), the arrays are local to the block and a new copy is made if
you make a recursive call.
Rich