#!/usr/bin/perl -w -l -n -a -F <- BEGIN{ use strict; use vars qw'@F %H'; use CGI::Minimal; use List::Util 'sum'; } chomp(@F); if( index($F[0], '%3A') > 0 ){ ${' '. CGI::Minimal->url_decode((split(/\?/, $F[0]))[1])}++; } else{ $H{$F[1]}++ if $F[1] ne ' -' && $F[1] ne ' [unknown origin]'; } END{ my @bad = qw(search google yahoo); foreach my $URI ( sort { $a cmp $b } keys %H ){ next if sum(map(index($URI, $_), @bad)) != -scalar @bad; print $URI, ': ', $H{$URI}; } }