#!/usr/bin/perl -w use strict; use POSIX; use CGI; sub nz($) { return defined($_[0]) ? $_[0] : ""; } sub autoflush($$) { my($so, $flag) = @_; select((select($so), $| = $flag)[0]); } sub print_header($) { my($s) = @_; printf("Content-Type: text/html; charset=EUC-JP\r\n"); printf("\r\n"); printf("NTP status\n"); printf("

NTP status

\n"); } sub print_footer() { printf("
\n"); printf("Copyright 2001 by Keisokugiken Corp.\n"); printf("\n"); } sub print_form($) { my($date) = @_; printf("
\n"); printf("\n", $date); printf("\n"); printf("\n"); printf("
\n"); } sub nain($) { my($date) = @_; print_header($date); print_form($date); if ($date =~ /^([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])$/) { my($Y, $m, $d, $H, $M, $S) = ($1, $2, $3, 0, 0, 0); my($d0, $d1, $d2, $loctime, $gmt); my($f1, $f2); $loctime = mktime($S, $M, $H, $d, $m - 1, $Y - 1900); $gmt = $loctime + 9 * 3600; $d0 = strftime("%Y%m%d", gmtime($gmt)); $d1 = strftime("%Y%m%d", gmtime($gmt - 86400)); $d2 = strftime("%Y%m%d", gmtime($gmt + 86400)); $f1 = "loopstats.$d0"; $f2 = "badformat.$d0"; printf("%s:", strftime("%Y/%m/%d", gmtime($gmt))); printf("[¢«]", $d1); printf("[¢¬]"); printf("[¢ª]
\n", $d2); printf("\"%s\"
\n", $f1, $f1); printf("\"%s\"\n", $f2, $f2); } else { printf("

unknown date %s

\n", $date); } print_footer(); } sub main() { my $date; autoflush(\*STDOUT, 1); CGI::ReadParse(); $date = nz($::in{date}); $date = nz($::in{date}); if ($date eq "") { $date = strftime("%Y%m%d", gmtime(time() - 86400)); } nain($date); return 0; } exit(main());