This is what I initially tried - makes sense to me. In the context of this sub function, "variableMaxText" always gets called with no value getting passed. If I declare $j globally, then the last value of $j gets passed every time (e.g., if I have 5 of them, the value is always "4" no matter which GUI element makes the call).