我希望能够捕获Perl eval中的变量赋值。也就是说,确定代码中已分配哪些变量名称并提取它们的值。
例如,如果我运行:
eval的结果是3.14(最后一个被评估的值),但我也想能够确定"$foo"和"$bar"的名称及其值(不事先知道名称)。
我已经阅读了一些将变量插入eval块的方法,通过Safe和Eval::Context,但尚未找到任何提取它们的方法。我更熟悉Python的eval/exec,它们内置支持此功能。
例如,如果我运行:
eval '$foo=42; $bar=3.14;'
eval的结果是3.14(最后一个被评估的值),但我也想能够确定"$foo"和"$bar"的名称及其值(不事先知道名称)。
我已经阅读了一些将变量插入eval块的方法,通过Safe和Eval::Context,但尚未找到任何提取它们的方法。我更熟悉Python的eval/exec,它们内置支持此功能。