diff --git a/modules/perleval.pm b/modules/perleval.pm new file mode 100644 index 00000000..ffba9ad8 --- /dev/null +++ b/modules/perleval.pm @@ -0,0 +1,31 @@ +use strict; +use warnings; + +package perleval; +use base 'ZNC::Module'; + +sub description { + 'Evaluates perl code' +} + +sub OnLoad { + my $self = shift; + if (!$self->GetUser->IsAdmin) { + $_[1] = 'Only admin can load this module'; + return 0 + } + return 1 +} + +sub OnModCommand { + my $self = shift; + my $cmd = shift; + my $x = eval $cmd; + if ($@) { + $self->PutModule("Error: $@") + } else { + $self->PutModule("Result: $x") + } +} + +1