Annotation of capa/capa51/CapaTools/loganalysis.pl, revision 1.3
1.1 albertel 1: #!/usr/local/bin/perl
2:
1.2 albertel 3: # log ananlysis for CAPA
4: # Copyright (C) 1992-2000 Michigan State University
5: #
6: # The CAPA system is free software; you can redistribute it and/or
1.3 ! albertel 7: # modify it under the terms of the GNU General Public License as
1.2 albertel 8: # published by the Free Software Foundation; either version 2 of the
9: # License, or (at your option) any later version.
10: #
11: # The CAPA system is distributed in the hope that it will be useful,
12: # but WITHOUT ANY WARRANTY; without even the implied warranty of
13: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.3 ! albertel 14: # General Public License for more details.
1.2 albertel 15: #
1.3 ! albertel 16: # You should have received a copy of the GNU General Public
1.2 albertel 17: # License along with the CAPA system; see the file COPYING. If not,
18: # write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19: # Boston, MA 02111-1307, USA.
20: #
21: # As a special exception, you have permission to link this program
22: # with the TtH/TtM library and distribute executables, as long as you
23: # follow the requirements of the GNU GPL in regard to all of the
24: # software in the executable aside from TtH/TtM.
25:
1.1 albertel 26: require('getopts.pl');
27:
28:
29:
30: sub S_Enterpath {
31: local($set)=@_;
32: local($notdone,$path);
33:
34: $notdone = 1;
35: while ($notdone) {
36: print "Please enter the CLASS absolute path:\n";
37: $path = <>; chomp($path);
38: if( $path =~ /\/$/ ) {
39: $Rfullpath = "$path" . "records";
40: $Lfullpath = "$path" . "records/log$set.db";
41: $Wfullpath = "$path" . "records/weblog$set.db";
42: } else {
43: $Rfullpath = "$path" . "/records";
44: $Lfullpath = "$path" . "/records/log$set.db";
45: $Wfullpath = "$path" . "/records/weblog$set.db";
46: }
47: if( -d $path ) {
48: if( -d $Rfullpath ) {
49: if( -f $Lfullpath ) {
50: $notdone = 0;
51: } else {
52: print "File [$Lfullpath] does not exist!\n";
53: }
54: if( -f $Wfullpath ) {
55: $notdone = 0;
56: } else {
57: print "File [$Wfullpath] does not exist!\n";
58: }
59: } else {
60: print "Directory [$Rfullpath] does not exist!\n";
61: }
62: } else {
63: print "Directory [$path] does not exist!\n";
64: }
65:
66: }
67: return ($path);
68: }
69:
70: sub S_ScanDB {
71: local($filename)=@_;
72: local($line_cnt)=0;
73: local($s_num,$dow,$mon,$sp,$day,$time,$yr,$ans_str);
74: local(@ans_char);
75: local($ii,$first);
76: local($Yes_cnt,$No_cnt);
77:
78: open(IN, "<$filename") || die "Cannot open $filename file!";
79: $Yes_cnt = 0; $No_cnt = 0;
80: while (<IN>) {
81: $line_cnt++;
82: chomp();
83: ($first,$ans_str) = split(/1997 /);
84: # print "$ans_str\n";
85: (@ans_char) = split(/ */,$ans_str);
86:
87: for($ii=0;$ii<=$#ans_char;$ii++) {
88:
89: $Yes_cnt++ if $ans_char[$ii] eq 'Y';
90:
91: $No_cnt++ if $ans_char[$ii] eq 'N';
92: }
93: }
94: close(IN) || die "Cannot close $filename file!";
95: print "$filename contains $line_cnt lines.\n";
96: print " Yes = $Yes_cnt, No = $No_cnt\n";
97: return ($Yes_cnt,$No_cnt);
98: }
99:
100:
101:
102: if(! &Getopts('s:') ) {
103: print STDERR "$Usage\n";
104: exit 2;
105: }
106: $opt_s = 1 if ! $opt_s;
107: S_Enterpath($opt_s);
108:
109: ($Y_cntL,$N_cntL) = S_ScanDB("$Lfullpath");
110: ($Y_cntW,$N_cntW) = S_ScanDB("$Wfullpath");
111: $Yratio = 0.0; $Nratio = 0.0;
112: $Yratio = $Y_cntW / $Y_cntL;
113: $Nratio = $N_cntL / $N_cntW;
114:
115: printf " Y ratio = %5.2f, N ratio = %5.2f\n", $Yratio , $Nratio;
116:
117:
118:
119:
120:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>