in reply to Does Scope of Referenced Array Matter?

Your array is declared using the 'my' keyword but your $array_ref isn't, it is acting as a global variable (something you may not want). It will keep the array alive until it (the reference) goes out of scope, which in this case is when your program ends. If you use strict in your program it will tell you:
Global symbol "$array_ref" requires explicit package name