【发布时间】:2016-07-21 13:47:08
【问题描述】:
我正在尝试编写一个函数,该函数可以接受所有参数并将它们打印为字符串,与输入的内容完全相同。
例如使用以下函数:
test('arg1' => $arg1, 'arg2' => $arg2);
我想在函数中获取以下字符串格式化完全如下所示:
"'arg1' => $arg1, 'arg2' => $arg2"
我想这样做,以便我可以打印所有参数,其方式与为调试/测试目的输入的方式相同。
【问题讨论】:
-
另一个例子:说你想做
test(time)。简单地打印@_将打印当前时间的纪元值,并且非常不清楚(乍一看)您实际上正在测试当前时间。 -
使用Devel::Trace,或者只使用常规调试器并在调用函数的行中断。
-
也可以使用来自
caller的信息来解析使用PPI的行。但这会遇到一些其他问题,例如确定源文件的文件名。请参阅this discussion 了解更多信息
标签: string perl arguments parameter-passing subroutine