#/usr/bin/perl use strict; use test_demon; require Net::Daemon; my(%PERSISTANT_HASH); my $server = test_demon->new( { 'pidfile' => 'test_demon.pid', 'logfile' => 'test_demon.log', 'localport' => 81, 'mode' => 'fork'}, \@ARGV); $server->Bind(); package test_demon; use strict; use vars qw($VERSION @ISA); @ISA = qw(Net::Daemon); sub Run ($) { my($self) = @_; my($line, $sock); $sock = $self->{'socket'}; while (1) { if (!defined($line = $sock->getline())) { if ($sock->error()) { $self->Error("Client error %s",$sock->error() ); }; $sock->close(); return; }; $line=~s/\r|\n//gi; my ($command,$key,$value) = split(/ /,$line,3); $command = lc($command); if ($command eq "set") { $::PERSISTANT_HASH{$key} = $value; }; if ($command eq "bye") { $sock->close(); return; } else { print $sock $::PERSISTANT_HASH{$key} . "\n"; }; }; $sock->close(); }; 1;