Kenneth McDonald wrote:
> Robert,
> 
> I was already aware of instance_eval (have to look up class_eval) used 
> in this manner (possibly from another of your very useful postings), but 
> had wondered if there was a more general way of affecting the execution 
> environment. Oh well.

You can change the binding one variable at a time:

def foo
   x = 1
   proc {puts "x = #{x}"}
end

pr = foo

p eval("x", pr)
eval("x=2", pr)
p eval("x", pr)

pr.call

__END__

Output:

1
2
x = 2

-- 
       vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407