You can also use
Win32::Daemon from roth.net. If you go this route (rather than srvany) then you can actually get the script to do something while it shuts down. I.e. if you stop the service - your script will realise that you are stopping the service and you can do something like close a db connection gracefully or whatever.
$ perldoc perldoc