in reply to how to manage a large console menu

Curses::UI::Popupmenu might be the way to go.

I haven't used it, but it looks like you should be able to use the onChange method to read the value of the selected item and pass that to your subroutine.