SRS service hung while Setup was trying to start it have you looked in the event logs that may point you in the right direction - I also agree that you should be using ActiveState tools - very helpful for stuff like this.
On windows you need to either compile it with ActiveState's PerlSvc, use Dave Roth's Win32::Daemon module or Jenda's Win32::Daemon::Simple module.
I used Win32::daemon to create and start a service.This service in turn runs a perl script .
When I start the service,the perl script is running well but because of the error ,the service is getting stopped automatically.