| 1 |
root |
1.1 |
#! perl |
| 2 |
root |
1.7 |
#CONVERSION: BROKEN, MISSING ON_APPLY |
| 3 |
root |
1.1 |
|
| 4 |
|
|
# generic perl code evaluator |
| 5 |
|
|
|
| 6 |
root |
1.2 |
sub eval_event { |
| 7 |
elmex |
1.5 |
my ($event, %vars) = @_; |
| 8 |
root |
1.2 |
|
| 9 |
|
|
my $code = $event->message; |
| 10 |
|
|
my $who = eval { $event->environment->name } || "<unknown>"; |
| 11 |
|
|
|
| 12 |
elmex |
1.5 |
my $rv = cf::safe_eval $code, %vars; |
| 13 |
root |
1.2 |
|
| 14 |
|
|
warn $@ if $@; |
| 15 |
|
|
|
| 16 |
|
|
$rv |
| 17 |
|
|
} |
| 18 |
|
|
|
| 19 |
root |
1.1 |
sub on_say { |
| 20 |
root |
1.4 |
my ($event, $ob, $who, $msg) = @_; |
| 21 |
root |
1.1 |
|
| 22 |
|
|
local $_ = $msg; |
| 23 |
root |
1.2 |
|
| 24 |
elmex |
1.5 |
eval_event $event, ob => $ob, who => $who, msg => $msg |
| 25 |
|
|
} |
| 26 |
|
|
|
| 27 |
|
|
sub on_apply { |
| 28 |
|
|
my ($event, $ob, $who) = @_; |
| 29 |
|
|
|
| 30 |
|
|
eval_event $event, ob => $ob, who => $who |
| 31 |
root |
1.1 |
} |