--- trunk/irc-logger.pl 2006/03/12 14:36:12 14
+++ trunk/irc-logger.pl 2006/03/13 12:56:26 15
@@ -45,6 +45,7 @@
use HTTP::Status;
use DBI;
use Encode qw/from_to/;
+use Regexp::Common qw /URI/;
my $dbh = DBI->connect($DSN,"","", { RaiseError => 1, AutoCommit => 1 }) || die $DBI::errstr;
@@ -86,6 +87,10 @@
nick => '%s: ',
message => '%s',
},
+ message_filter => sub {
+ # modify message content
+ return shift;
+ }
);
=cut
@@ -159,7 +164,15 @@
$append = 0;
}
- $msg .= sprintf($args->{fmt}->{message}, $row->{message});
+ if (ref($args->{message_filter}) eq 'CODE') {
+ $msg .= sprintf($args->{fmt}->{message},
+ $args->{message_filter}->(
+ $row->{message}
+ )
+ );
+ } else {
+ $msg .= sprintf($args->{fmt}->{message}, $row->{message});
+ }
if ($append && @msgs) {
$msgs[$#msgs] .= " " . $msg;
@@ -407,6 +420,11 @@
nick => '%s: ',
message => '%s',
},
+ message_filter => sub {
+ my $m = shift || return;
+ $m =~ s#($RE{URI}{HTTP})#$1#gs;
+ return $m;
+ },
)
) .
qq{