#!/usr/bin/perl -w # # IRC log parser script - gene@ology.net # use strict; use ParseIRC; use Data::Dumper; $Data::Dumper::Terse = 1; # don't output names where feasible $Data::Dumper::Indent = 0; # turn off all pretty print my $logfile = $ARGV[0] or die "Usage: $0 log_file_name\n"; open LOG, $logfile or die "Can't read $logfile - $!\n"; while () { if (my $nick = (parse_line($_))[1]) { add_nick($nick) unless is_nick($nick); } } #die "Nicks:\n", Dumper(all_nicks()), "\n"; seek LOG, 0, 0; my $i = 0; while () { if (my @line = parse_line($_)) { $i++; if ($line[2] and my $target = (match_target($line[2]))[0]) { # printf "%d. Stamp - Nick - Line(%d): %s\n", $i, scalar @line, join (' - ', map {$_ ? $_ : 'XXX'} @line); # printf "%d. %s -> %s\n", $i, @line[1,2]; # printf "%d. Nick -> Target: %s -> %s\n", $i, $line[1], $target; $target = 'public' unless is_nick($target); register_target($line[1], $target); } } } close LOG; # This is code to save the HoH as an MLDBM data file. #use Fcntl qw(O_CREAT O_RDWR); #use MLDBM qw(DB_File); #my %nicks; #tie %nicks, 'MLDBM', "$logfile.db", O_CREAT|O_RDWR, 0666 # or die "Can't tie $logfile.db - $!\n"; #%nicks = %{ all_nicks() }; #print "Parsed nicks:\n", Dumper(\%nicks), "\n"; #untie %nicks; print Dumper(all_nicks()); exit;