OK, thanks for the responses. Let's see if I got this right : Blocks passed to instance_eval are still bound to where ever they were declared but instance_eval will use instance & class variables where ever required. -- Posted via http://www.ruby-forum.com/.