我有一个使用Config :: Tiny读取全局配置文件的脚本。基于选择变量,我的脚本为SQLite,MySQL或PgSQL选择一个子例程。子程序结束时私人变量会发生什么变化?
现在配置文件在脚本的顶部被读取并且变量被设置在子例程之外。但考虑到MySQL变量与PgSQL或SQLite无关,我想在子例程中设置私有变量。唯一的事情我想知道的是一旦子例程已经运行过程中发生了什么变化?他们被删除?
我有一个使用Config :: Tiny读取全局配置文件的脚本。基于选择变量,我的脚本为SQLite,MySQL或PgSQL选择一个子例程。子程序结束时私人变量会发生什么变化?
现在配置文件在脚本的顶部被读取并且变量被设置在子例程之外。但考虑到MySQL变量与PgSQL或SQLite无关,我想在子例程中设置私有变量。唯一的事情我想知道的是一旦子例程已经运行过程中发生了什么变化?他们被删除?
子程序返回后,子程序中声明的变量不存在。他们的内存将被释放,并且任何引用的值都将有资格进行垃圾回收(假设没有其他引用这些值)。
词法变量表现为这种方式;包变量有不同的行为。 – 2010-11-28 02:22:02
完美!我只是想确定脚本何时运行,它不会保留变量使用的空间。 – ianc1215 2010-11-28 02:32:15