errout = ARGV.shift BEGIN { puts "b1" local_begin1 = "local_begin1" $global_begin1 = "global_begin1" ConstBegin1 = "ConstBegin1" } BEGIN { puts "b2" BEGIN { puts "b2-1" } } # for scope check raise if defined?(local_begin1) raise unless defined?($global_begin1) raise unless defined?(::ConstBegin1) local_for_end2 = "e2" $global_for_end1 = "e1" puts "main" END { puts local_for_end2 # e2 } END { raise puts "should not be dumped" } eval <