You don't need to go the HTTP route if you don't want to. HTTP is nice for some things, but for some things it is a waste of overhead.
There are several options for building an SSL wrapped service. The simplest is to build an unencrypted service that suits your needs and then wrap it with stunnel. Not particularly perlish, but solid, secure and very unix-y.
The perlish route has many options. Net::SSLeay provides some simple examples. There are also examples with IO::Socket::SSL ... so I guess my question is: what's your question?
The intelligent reader will judge for himself. Without examining the facts fully and fairly, there is no way of knowing whether vox populi is really vox dei, or merely vox asinorum. — Cyrus H. Gordon