The subroutine status_bank does nothing to store or preserve its data. It's not normal for the subroutine that reads the data from a file to also handle displaying the data. In general, you don't know when your display object is going to get called to redraw it's frame so you need to store your data in some kind of data stucture. Then a callback routine called by an event handler fetches data from the data structure and writes it to your display object string. I see none of this structure in your code so I am at a bit of a loss as to what to recommend.
s//----->\t/;$~="JAPH";s//\r<$~~/;{s|~$~-|-~$~|||s
|-$~~|$~~-|||s,<$~~,<~$~,,s,~$~>,$~~>,,
$|=1,select$,,$,,$,,1e-1;print;redo}