# File referrercop.rb, line 323
  def self.filter_awstats(input, output = $stdout)
    data = input.read

    # Remove the section map (AWStats will regenerate it during the next update).
    data.slice!(REGEXPS[:awstats_map])

    # Extract referrers.
    referrers = data.slice!(REGEXPS[:awstats_pagerefs_extract], 1).strip

    # Filter referrers.
    filtered = Array.new

    referrers.each_line do |line|
      @stats.lines += 1

      # Skip over invalid lines.
      unless line =~ REGEXPS[:awstats_url]
        @stats.invalid += 1
        filtered << line
        next
      end

      # Examine the URL.
      if spam?($1)
        @stats.spam += 1
      else
        @stats.ham += 1
        filtered << line
      end
    end

    # We have to be careful about newlines or AWStats will go all apeshit.
    if filtered.length > 0
      referrers = filtered.join('').strip + "\n"
    else
      referrers = ''
    end

    output.puts data.gsub(REGEXPS[:awstats_pagerefs_replace],
      "BEGIN_PAGEREFS #{filtered.length}\n#{referrers}END_PAGEREFS")
  end