First we create a skeleton server that does not do anything.

examples/server/skeleton_server.pl
#!/usr/bin/perl
use strict;
use warnings;

use FindBin;
use lib "$FindBin::Bin/lib";
use SkeletonServer;

SkeletonServer->run(port => 8000);
examples/server/lib/SkeletonServer.pm
package SkeletonServer;
use warnings;
use strict;

use base 'Net::Server';

sub process_request {
    # do your stuff
}


1;