--- loncom/xml/Safe.pm	2002/03/27 18:32:57	1.1
+++ loncom/xml/Safe.pm	2002/10/17 19:27:24	1.3
@@ -2,8 +2,9 @@ package Safe;
 
 use 5.003_11;
 use strict;
+use vars qw($VERSION);
 
-our $VERSION = "2.061";
+$VERSION = "2.061";
 
 use Carp;
 
@@ -213,7 +214,7 @@ sub reval {
     # Create anon sub ref in root of compartment.
     # Uses a closure (on $expr) to pass in the code to be executed.
     # (eval on one line to keep line numbers as expected by caller)
-	my $evalcode = sprintf('package %s; sub { eval $__SAFE_LOCAL_expr; }', $root);
+    my $evalcode = sprintf('package %s; sub { @_ = (); eval $__SAFE_LOCAL_expr; }', $root);
     my $evalsub;
 
 	if ($strict) { use strict; $evalsub = eval $evalcode; }
@@ -227,7 +228,7 @@ sub rdo {
     my $root = $obj->{Root};
 
     my $evalsub = eval
-	    sprintf('package %s; sub { do $file }', $root);
+	      sprintf('package %s; sub { @_ = (); do $file }', $root);
     return Opcode::_safe_call_sv($root, $obj->{Mask}, $evalsub);
 }