#! /s/std/bin/perl $visitors_file="+; $hits_so_far=; $indv_so_far=&search_and_add; if($indv_so_far==1){ $visits_so_far++; } $hits_so_far++; $v_len=6; $h_len=9; $i_len=6; $v_width=25; $v_height=25; $h_width=17; $h_height=17; $i_width=25; $i_height=25; #Modify the files to reflect new visits seek(VIS_CNT_FILE,0,SEEK_SET); printf VIS_CNT_FILE "%06.6s\n", $visits_so_far; printf VIS_CNT_FILE "%09.9s", $hits_so_far; $gif="/u/p/i/pif/public/html/images/dummy.gif"; if(!open(GIF, $gif)) { print "Content-type: text/html\n\n Sorry error opening file "; exit(0); } binmode(GIF); print "Content-type: image/gif\n\n"; while(read(GIF,$buff, 256)) { print $buff; } sub search_and_add { $found=0; $cur_visitor=$ENV{'REMOTE_ADDR'}; $visitor_visits=0; while(!eof(VIS_FILE)){ $last_off=tell(VIS_FILE); $temp=; @visitor_inf=split("#",$temp); $visitor=@visitor_inf[0]; $visitor_visits=@visitor_inf[1]; if($visitor=~$cur_visitor) { $visitor_visits++; $last_visit_time=@visitor_inf[2]; seek(VIS_FILE,$last_off+16,SEEK_SET); printf VIS_FILE "%06.6s#%15.15s",$visitor_visits,time; $found=1; return $visitor_visits; } } #New visitor $visitor_visits="000001"; printf VIS_FILE "%15s#%06.6s#%15.15s#%s\n",$cur_visitor,$visitor_visits,time,$ENV{'REMOTE_HOST'}; $last_visit_time=time; return $visitor_visits; }