#### #!/perl/bin/perl print "Content-type: text/html\n\n"; $logpath = "data/browser.dat"; &parse; sub parse{ if ($ENV{'REQUEST_METHOD'} eq 'GET') { @pairs = split(/&/, $ENV{'QUERY_STRING'}); } elsif ($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); } else {exit;} foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s///g; $form{$name} = $value; } } $browser = $form{'browser'}; open (LOG, "$logpath"); @data = ; close(LOG); $not_found = 1; open (LOG, ">$logpath"); foreach $line(@data) { chomp($line); ($fcount,$fbrowser)= split(/\|/,$line); if ($fbrowser eq $browser) { $not_found = 0; $fcount = $fcount+1; print LOG "$fcount|$fbrowser\n"; } else { print "$line"; } } close(LOG); if($not_found) { open (LOG,">>$logpath"); print "1|$browser"; close(LOG); } # just prints out log to browser open (LOG, "$logpath"); @data = ; close(LOG); foreach $line(@data) { chomp($line); print "$line
"; } close(LOG); print "

$not_found";