【发布时间】:2019-11-12 16:40:23
【问题描述】:
为了诊断或调试我的 perl 代码,我想轻松地显示变量的名称及其值。在bash 中,键入以下内容:
#!/bin/bash
dog=pitbull
declare -p dog
在perl 中,考虑以下脚本junk.pl:
#!/usr/bin/perl
use strict; use warnings;
my $dog="pitbull";
my $diagnosticstring;
print STDERR "dog=$dog\n";
sub checkvariable {
foreach $diagnosticstring (@_) { print "nameofdiagnosticstring=$diagnosticstring\n"; }
}
checkvariable "$dog";
如果我们调用这个脚本,我们会得到
bash> junk.pl
dog=pitbull
nameofdiagnosticstring=pitbull
bash>
但是,当调用子例程checkvariable 时,我希望打印以下内容:
dog=pitbull
这将使编码更容易,更不容易出错,因为不必输入两次变量的名称。
【问题讨论】:
-
Debug::Show 或 Debug::ShowStuff::ShowVar 看起来很有希望
-
4 年前我还向Data::Printer 创建了一个拉取请求。
标签: perl subroutine declare