That's way to complicated and inefficient.I can't see any advantage in referencing arrays to other arrays ( or even copy them) just to use them within a sub - in regards of what the sense of a sub is - for me it is a bit structure and encapsulation, which make some kind of procedural basic programming possible.In other words, i try to isolate the code within the sub from the mainpart ( or at least from the calling code piece).
I use a lot of nesting with the subs ( which i call procedures for myself - because this is what they are) to make the code more strict and clean - i do not want to share variables between main code and subs because of the very well known side effects of this practice.If i use the original array or just a copy or reference to it - i still use a global var and that's exactly what we wanna avoid whenever possible.
Have a look at PureBasic, which is my favourite procedural basic dialekt...
regards,
TWELVE