Hello perlsage, congrats for your first post :)
In addition to the observations Juerd made, I have two more nits to pick:
- Instead of modifying and customizing the module for each service you want to monitor, why not make an object-oriented interface to let people customize their own services? The perlboot and perltoot manpages have some examples.
- "Perlsvc" is quite misleading. My first association was D.J.Bernsteins daemontools package for Unix :). How about naming it something like Win32::Service::Monitor? (that's not a good name yet, but maybe a starter.)
I hope these comments help you to improve your code. Feel free to update this node with improved code or post some questions if you need help with any of the aspects we mentioned.
Have fun!