--- /dev/null
+#!/usr/bin/perl
+#
+# John@MCC.ac.uk
+# John@Pharmweb.NET
+
+require "getopts.pl";
+&Getopts('FML:');
+
+open (ACCESS, "/opt/Squid/logs/useragent.0");
+
+while (<ACCESS>) {
+ ($host, $timestamp, $agent) =
+ /^(\S+) \[(.+)\] \"(.+)\"\s/;
+ if ($agent ne '-') {
+ if ($opt_M) {
+ $agent =~ tr/\// /;
+ $agent =~ tr/\(/ /;
+ }
+ if ($opt_F) {
+ next unless $seen{$agent}++;
+ } else {
+ @inline=split(/ /, $agent);
+ next unless $seen{$inline[0]}++;
+ }
+ }
+}
+
+$total=0;
+if (!$opt_L) {$opt_L=0}
+
+print "Summary of User-Agent Strings\n(greater than $opt_L percent)\n\n";
+
+foreach $browser (keys(%seen)) {
+ $total=$total+$seen{$browser};
+}
+
+foreach $browser (sort keys(%seen)) {
+ $percent=$seen{$browser}/$total*100;
+ if ($percent >= $opt_L) { write; }
+}
+
+print "\n\nTotal entries in log = $total\n";
+
+format STDOUT =
+@>>>>>>> :@##.####% : @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$seen{$browser}, $percent, $browser
+.