#!/usr/local/bin/perl # # list maker for i system and piloweb # # 2000/05/26 0.2 yar-3 caption # 2000/05/26 0.1 yar-3 work with i system 0.7.3 $ver = "0.2 00/5/24 by yar-3"; require './config.ph'; if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'}); } else { $query_string = $ENV{'QUERY_STRING'}; } @a = split(/&/, $query_string); foreach $a (@a) { ($name, $value) = split(/=/, $a); $value =~ tr/+/ /; $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg; $FORM{$name} = $value; } $tt = time; ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime($tt); $year += 1900; $mon++; if ($mon < 10 ) { $mon = "0$mon"; } #0suppress if ($mday < 10 ) { $mday = "0$mday"; } $today = "$year$mon$mday"; #19991231 format # 引数 # startday 表示開始日 # endday 表示終了日 # direc 方向(0:昇順 1:降順) # days 表示日数 $startday = $FORM{'startday'}; $endday = $FORM{'endday'}; $direc = $FORM{'direc'}; $days = $FORM{'days'}; if ($query_string eq "") { #引数なし &print_form; #設定用のformを表示 exit 1; } if ($startday eq "" and $endday eq "" and $days ne "") { #最新を表示 &print_list1; exit 1; } # # sub routines # sub print_form { &html_header("i system list maker form"); #html header print <

i system list maker


EOF &html_footer; } sub print_list1 { #最新りすと my $d, $dd, $i, $j, @daylist; &html_header("[latest] i system list maker"); #html header print <

i system list maker

Latest $days days
EOF &html_footer; } sub html_header { print < $_[0] EOF } sub html_footer { print < i system list maker for PiloWeb ver $ver EOF } sub make_hnf_list { #去年から来年までのhnfファイルのリストを作成する foreach my $y ($year-1..$year+1) { opendir DIR, "$diarydir$y" || next; push(@ddays, (sort grep s/^d(\d+)\.hnf$/$1/, readdir DIR)); closedir DIR; } return @ddays; }