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

# User Rev Content
1 root 1.1 #! perl
2    
3     # generic perl code evaluator
4    
5 root 1.2 sub eval_event {
6 elmex 1.5 my ($event, %vars) = @_;
7 root 1.2
8     my $code = $event->message;
9     my $who = eval { $event->environment->name } || "<unknown>";
10    
11 elmex 1.5 my $rv = cf::safe_eval $code, %vars;
12 root 1.2
13     warn $@ if $@;
14    
15     $rv
16     }
17    
18 root 1.1 sub on_say {
19 root 1.4 my ($event, $ob, $who, $msg) = @_;
20 root 1.1
21     local $_ = $msg;
22 root 1.2
23 elmex 1.5 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 root 1.1 }