#!/usr/local/bin/perl
require('getopts.pl');
sub S_Enterpath {
local($set)=@_;
local($notdone,$path);
$notdone = 1;
while ($notdone) {
print "Please enter the CLASS absolute path:\n";
$path = <>; chomp($path);
if( $path =~ /\/$/ ) {
$Rfullpath = "$path" . "records";
$Lfullpath = "$path" . "records/log$set.db";
$Wfullpath = "$path" . "records/weblog$set.db";
} else {
$Rfullpath = "$path" . "/records";
$Lfullpath = "$path" . "/records/log$set.db";
$Wfullpath = "$path" . "/records/weblog$set.db";
}
if( -d $path ) {
if( -d $Rfullpath ) {
if( -f $Lfullpath ) {
$notdone = 0;
} else {
print "File [$Lfullpath] does not exist!\n";
}
if( -f $Wfullpath ) {
$notdone = 0;
} else {
print "File [$Wfullpath] does not exist!\n";
}
} else {
print "Directory [$Rfullpath] does not exist!\n";
}
} else {
print "Directory [$path] does not exist!\n";
}
}
return ($path);
}
sub S_ScanDB {
local($filename)=@_;
local($line_cnt)=0;
local($s_num,$dow,$mon,$sp,$day,$time,$yr,$ans_str);
local($rest);
local(@ans_char);
local($ii,$first,$cmd);
local($usr_ans,$usr_try,$prob_cnt);
open(IN, "<$filename") || die "Cannot open $filename file!";
$Yes_cnt = 0; $No_cnt = 0;
while (<IN>) {
$line_cnt++;
chomp();
($first,$ans_str) = split(/ [1-9][0-9][0-9][0-9] /);
# print "$ans_str\n";
($s_num,$rest) = split(/ /,$first);
(@ans_char) = split(/ */,$ans_str);
$s_num = uc($s_num);
$usr_ans = "$s_num" . "ans";
$usr_try = "$s_num" . "try";
if( $prob_cnt == 0 ) {
$prob_cnt = $#ans_char +1;
}
if(! defined @$usr_ans ) {
for($ii=0;$ii<=$#ans_char;$ii++) {
$$usr_ans[$ii] = '-';
}
}
if(! defined @$usr_try ) {
for($ii=0;$ii<=$#ans_char;$ii++) {
$$usr_try[$ii] = 0;
}
}
for($ii=0;$ii<=$#ans_char;$ii++) {
if( $ans_char[$ii] eq 'Y') {
$$usr_ans[$ii] = 'Y';
$$usr_try[$ii]++;
}
if( $ans_char[$ii] eq 'N') {
if( $$usr_ans[$ii] ne 'Y') {
$$usr_ans[$ii] = 'N';
}
$$usr_try[$ii]++;
}
}
if(! defined $Exist{"$s_num"} ) {
$Exist{"$s_num"} = $s_num;
}
}
close(IN) || die "Cannot close $filename file!";
return ($prob_cnt);
}
if(! &Getopts('s:') ) {
print STDERR "$Usage\n";
exit 2;
}
$opt_s = 1 if ! $opt_s;
S_Enterpath($opt_s);
$cnt = S_ScanDB("$Lfullpath");
$cnt = S_ScanDB("$Wfullpath");
foreach $sn (sort keys %Exist) {
$usr_ans = "$sn" . "ans";
$usr_try = "$sn" . "try";
print "$sn ";
for($ii = 0; $ii< $cnt;$ii++) {
print $$usr_ans[$ii];
}
for($ii = 0; $ii< $cnt;$ii++) {
printf ",%2d", $$usr_try[$ii];
}
print "\n";
}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>