diff options
author | Márcio Silva <coadde at hyperbola dot info> | 2017-06-02 15:44:54 -0300 |
---|---|---|
committer | Márcio Silva <coadde at hyperbola dot info> | 2017-06-02 15:44:54 -0300 |
commit | b4830e97ae51396ccaa9ca2acb469aef80094ae8 (patch) | |
tree | c069b1ef6f9189848726121afa8d815e4e56d138 /contrib/modules/m_perl/safe_eval.pl | |
download | hyperbot-b4830e97ae51396ccaa9ca2acb469aef80094ae8.tar.lz hyperbot-b4830e97ae51396ccaa9ca2acb469aef80094ae8.tar.xz hyperbot-b4830e97ae51396ccaa9ca2acb469aef80094ae8.zip |
Add initial files from envbot v0.1-beta1
Diffstat (limited to 'contrib/modules/m_perl/safe_eval.pl')
-rw-r--r-- | contrib/modules/m_perl/safe_eval.pl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/contrib/modules/m_perl/safe_eval.pl b/contrib/modules/m_perl/safe_eval.pl new file mode 100644 index 0000000..1e6489f --- /dev/null +++ b/contrib/modules/m_perl/safe_eval.pl @@ -0,0 +1,25 @@ +#!/usr/bin/perl +use strict; +use Safe; + +my $expr = shift; + +my $cpt = new Safe; + +#Basic variable IO and traversal + +$cpt->permit(':base_core'); + +$SIG{ALRM} = sub { + die "Alarm"; +}; + +alarm(4); + +my $ret = $cpt->reval($expr); + +if ($@) { + print $@; +} else { + print $ret; +} |