Firstly, `$^O` returns `solaris`, see [perlport](http://perldoc.perl.org/perlport.html#PLATFORMS).  The only time it returns `sunos` is with SunOS 4.x releases, which are over 20 years old and not supported by Quattor.

I don't see SysV support here, which would use `/etc/init.d/<service> stop` and `/etc/init.d/<service> start`?  SMF, which uses the `svcadm` command, was introduced in Solaris 10.  But then, I didn't think Quattor supported Solaris 9 anyway.  In which case SysV is not supported (for Solaris anyway), and you should test on Solaris to see if `/usr/sbin/svcadm` exists and if not to report an unsupported operating system.