Well since you're not locally scoping any of your variables, I imagine they will all be global forever. Perhaps you are messing yourself up by returning
@List from your subroutine instead of
@Array? PLEASE 'use
strict'. It would have caught this mistake.