srvDDate ist nur ein gaaanz kleiner Socket::IO-Dienst, der bei einem telnet auf den angegebenen Port das aktuelle Datum, hübsch formatiert, ausgibt. Das ganze ist in perl geschrieben und absolut Alpha.
#!/usr/bin/env perl
# a small service for providing the correct date
use IO::Socket; #we need it for the socket of course
use Date::Discordian; #Discordian date
my $name = "ddatesrv";
my $ver = "0.01";
my $port = 2323;
my $listen = IO::Socket::INET->new(
Proto => 'tcp',
LocalPort => $port,
Listen => SOMAXCONN
);
while (1) {
$ddate = discordian(time);
$ddate =~ s/\,//;
@disco = split(/ /, $ddate);
next unless my $conn = $listen->accept();
my $child =fork;
if ($child == 0) {
handle_conn($conn);
}
}
sub handle_conn {
my $sock = shift;
$wday = sprintf('%-40s', "Weekday: @disco[0]");
$day = sprintf('%-40s', "Day: @disco[2] in epoch of @disco[1]");
$year = sprintf('%-40s', "In the year @disco[4] @disco[3]");
binmode $sock;
$sock->send("\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n | $wday |\n | $day |\n | $year |\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n Hail Eris! All Hail Discordia\n\n" );
close($sock);
exit(0);
}