我没有深刻或有趣的问题——我只是好奇为什么会这样。
最佳答案
假设每个包都依赖于它之前的所有东西的正确功能。 END 块旨在“清理和关闭”包在程序完成之前可能需要处理的任何内容。但是这项工作可能依赖于更早开始的包的正确运行,如果允许它们运行它们的 END 块,这可能不再正确。
如果您以任何其他方式这样做,则可能会出现错误。
关于perl - 为什么 Perl 以 LIFO 顺序运行 END 和 CHECK block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3555579/