HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/src/ruby-2.3.8/test/ruby/beginmainend.rb
# frozen_string_literal: false
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
}

eval <<EOE
  BEGIN {
    puts "b3"

    BEGIN {
      puts "b3-1"
    }
  }

  BEGIN {
    puts "b4"
  }

  END {
    puts "e3"
  }

  END {
    puts "e4"

    END {
      puts "e4-1"

      END {
	puts "e4-1-1"
      }
    }

    END {
      puts "e4-2"
    }
  }
EOE

END {
  exit
  puts "should not be dumped"

  END {
    puts "not reached"
  }
}

END {
  puts $global_for_end1	# e1

  END {
    puts "e1-1"
  }
}