It's not as magical as your are imagining. CGI::App just executes whatever sub you tell it to with your rm parameter. That's it. If you don't pass an rm parameter, it runs the default run mode sub.
Comment on Re: CGI::Application Run Modes Not Applying