1. 先搜索BEGIN语句,搜到则执行,否则执行程序的第一行 2. 碰到函数定义,类定义,模块定义则执行,导致这些东西被定义 3. 碰到导致程序退出的语句,或者到了文件结尾或者遇到__END__则退出执行 4. 在退出执行前,典型的执行END语句块或者由at_exit注册的退出钩子语句。但是如果由exit!导致的退出,前面的两种情况不执行