ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/maps/perl/eval.ext
Revision: 1.5
Committed: Tue Aug 8 22:45:02 2006 UTC (17 years, 9 months ago) by elmex
Branch: MAIN
Changes since 1.4: +9 -6 lines
Log Message:
replaced eval with safe_eval

File Contents

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