I get (no pun intended) how the original get_array works.
What I'm unclear on is why you called it with
&get_array() instead of just
get_array(). I'm used to seeing
\&
used when setting up references to subs, but this is the
first time I've encountered &subname() without
the backslash.