eval { @ans = &{$self->{func}}($self, $cmdline) };
}
$self->send_ans("Syserr: on stored func $self->{func}", $@) if $@;
+ $self->send_ans(@ans);
} else {
$self->send_ans(run_cmd($self, $cmdline));
}
for (keys %Cache) {
undef *{$_};
+ dbg("Undefining cmd $_") if isdbg('command');
}
%cmd_cache = ();
%Cache = ();
# get rid of any existing sub and try to compile the new one
no strict 'refs';
- dbg("[Re]defining $package") if isdbg('command');
- undef *$package;
+ if (exists $Cache{$package}) {
+ dbg("Redefining $package") if isdbg('command');
+ undef *$package;
+ } else {
+ dbg("Defining $package") if isdbg('command');
+ }
eval $eval;
$Cache{$package} = {mtime => $mtime };