- # would this slow things down?
- if ($_ = &getChanConf("ircTextCounters")) {
- foreach (split /[\s]+/) {
- next unless ($msg =~ /^\Q$_\E$/i);
- &status("textcounters: $_ matched for $who");
+ # cache it.
+ my $time = time();
+ if (!$cache{ircTextCounters}) {
+ &DEBUG("caching ircTextCounters for first time.");
+ my @str = split(/\s+/, &getChanConf("ircTextCounters"));
+ for (@str) { $_ = quotemeta($_); }
+ $cache{ircTextCounters} = join('|', @str);
+ }
+
+ my $str = $cache{ircTextCounters};
+ if ($str && $msg =~ /^($str)[\s!\.]?$/i) {
+ my $x = $1;