#!/usr/bin/perl use warnings; use strict; use FindBin '$Bin'; my $wordsfile="$Bin/badwords.db"; my $logfilepath = "/minecraft/bin/logs/"; my @logfiles = glob("$logfilepath*.log"); open(my $fh, '<', $wordsfile) or die("Error open $wordsfile ($!)"); my @barwords=<$fh>; close($fh); chomp(@barwords); for my $file (@logfiles) { open(my $fh, '<', $file) or die ("Error open $file ($!)"); while(my $line=<$fh>) { if($line=~/Sign|Antigrief/) { print $line; } elsif($line=~/Line/ && grep{$line=~/$_/}@barwords) { print $line; } } }