50 lines
1.2 KiB
Perl
50 lines
1.2 KiB
Perl
#!/usr/bin/perl
|
|
|
|
|
|
if ($#ARGV ne 2){
|
|
print "not enough arguments\n";
|
|
exit 1;
|
|
}
|
|
|
|
my $chan=$ARGV[1];
|
|
my $folder=$ARGV[0];
|
|
my $nick=$ARGV[2];
|
|
my $snick=$nick;
|
|
$snick=~s/\\/\\\\/g;
|
|
$snick=~s/\|/\\\|/g;
|
|
$snick=~s/\^/\\\^/g;
|
|
|
|
my @files;
|
|
|
|
push @files, `ls $folder/$chan.* | sort`;
|
|
|
|
foreach $file (@files) {
|
|
|
|
my $date="irgendwas";
|
|
my $line;
|
|
|
|
open(file, $file) or die("Could not open file $file");
|
|
foreach $line (<file>) {
|
|
if ($line =~ m/^\[[0-9]{2}:[0-9]{2}(:[0-9]{2})?\] (Action: )?<?$snick>? /i) {
|
|
if ($date =~ /^irgendwas$/) {
|
|
print "$nick belongs to inventory\n";
|
|
exit 0;
|
|
} else {
|
|
($time=$line)=~s/([^:]*)([0-9]{2}:[0-9]{2})(:[0-9]{2})?(.*)\n/$2/;
|
|
print "$nick was first seen on $date at $time\n";
|
|
exit 0;
|
|
}
|
|
}
|
|
if ($line =~ m/^\[00:00(:00)?\] --- /){
|
|
($date=$line)=~s/^\[00:00(:00)?\] --- (.*)\n/$2/;
|
|
}
|
|
if ($line =~ m/^\[[0-9]{2}:[0-9]{2}(:[0-9]{2})?\] Nick change: .* -> $snick/i) {
|
|
($newnick=$line)=~s/.* Nick change: (.*) -> $snick\n/$1/i;
|
|
print "$nick was $newnick\n";
|
|
exec($^X, $0, $folder, $chan, $newnick);
|
|
exit 0
|
|
}
|
|
}
|
|
}
|
|
|
|
print "I do not remember $nick\n";
|