No, I hadn't seen App::perlmv. Thanks for the pointer. It is similar in many ways to the first few iterations of my script; we both have saved routines for ease of re-use, for instance. However, mine has since added a number of utility functions and a separate execution environment for the scriptlets.
That said, there are a couple of good ideas in there that I hadn't considered, and will think about incorporating.