>>>>> "B" == Ben Tilly <ben_tilly / hotmail.com> writes: B> in Perl. By itself this is useful as a way of telling B> Ruby that I don't care if there is already something in B> scope called foo, this foo is private. Like I've said previously I think this is easy to do (just re-use a keyword like `do' to don't break old scripts), but finally you end up with something that is difficult to understand. Just an example pigeon% cat b.rb #!./ruby def toto(a) p "1 #{a}" do(a = a - 2, b = 2) p "2 #{a}, #{b}" do a = a + 2, b = a + 10 p "3 #{a}, #{b}" [4].each do |a| p "3' #{a}" end p "3 #{a}, #{b}" end p "4 #{a}, #{b}" end p "5 #{a}" end toto(12) pigeon% pigeon% b.rb "1 12" "2 10, 2" "3 12, 20" "3' 4" "3 4, 20" "4 10, 2" "5 12" pigeon% If you really understand this script (when you read it), you are lucky :-) Guy Decoux