#!/usr/local/bin/perl # # BBS logfile reader # Filters all messages to and from a specific user $name = shift; while($line = ) { if ($line =~ /eXpress message received from $name at \d+:\d\d/ || $line =~ /Question received from $name at \d+:\d\d/ || $line =~ /$name sent you this feeling at \d+:\d\d/) { print "$line"; for($i = 0; $i < 7; $i++) { $line = ; chop($line); if ($line eq '') { last; } print "$line\n"; } print "\n"; } elsif ($line =~ /Send eXpress message$/ || $line =~ /Reply to last eXpress message$/) { $line2 = $line; do { $line = ; } while(!($line =~ /Recipient/)); if ($line =~ /Recipient \($name\):\s$/ || $line =~ /$name$/) { print "$line2\n$line"; do { $line = ; print "$line"; } while($line =~ /^\>/); print "\n"; } } elsif ($line =~ /\(\d+:\d+\) $name /) { # emote received print "$line\n"; } elsif ($line =~ /Send Emote$/) { # Send emote $line2 = $line; do { $line = ; } while(!($line =~ /Recipient/)); if ($line =~ /Recipient \($name\):\s$/ || $line =~ /$name$/) { print "$line2\n$line"; $line = ; print "$line"; $line = ; print "$line\n"; } } elsif ($line =~ /Bark!! Bark!!! Your watchdog noticed something at \d+:\d\d/) { $line2 = $line; $line = ; if ($line =~ /Your friend $name has / || $line =~ /Your friend $name went link dead and is disconnected/) { print "$line2$line\n"; } } } # EOB