Are you aware of AUTOLOAD? It is meant for run-time on-demand loading of functions. I abused it in JAPH at the firing range but what you are supposed to do is check $AUTOLOAD and then autoload some functionality.
There is a standard module Autoloader which can be used to simplify this process if you have a lot of functions you want loaded dynamically at run-time.