This is a nice module. I think it helps with CGI::Application novices. It's a nice alternate way to add_callback() (in import) for adding runmodes.
I still use this module from time to time. Interesting use of attributes. Wonderfully documented.
While I like the idea of this module and have used it a few times (and I've never had problems with using it in mod_perl as Mark Stosberg described), it does seem a little fragile and a bit easier to break than it should.
This plugin for CGI::Application allows to you skip the step of declaring a "setup()" routine, by making use of subroutine attributes to label run modes instead. I find it to be more concise and clearer as well.
Unfortunately, when using it on amore complex project, I ran into a problems. The first what that it doesn't play well with standard export/importing, but uses its own "Delegate" system to essentially re-implement this. This functionality involves passing an argument to the delegate routines, which I didn't want and had to workaround.
Worse, when I switched to modperl, none of run modes declared this way worked. Perhaps it works for others, but it became clear my own time savings with using this module evaporated, and I took it out of my code.
I love the idea of this module and hope some of the hassles I ran into will be addressed in a future version.