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