--- 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{}