我正在使用Data::Printer
在Perl6中打印数据,这是一个非常棒的程序包,但是我试图更改参数,但是我不能。
例如,我想要:
HG00112 {
gained_site {
9:10162 0,
9:10272 var{HG00112}{gained_site}{9:10162},
9:10326 var{HG00112}{gained_site}{9:10162},
...
}(tied to Perl6::Hash)
看起来像
HG00112 {
gained_site {
9:10162 0,
9:10272 0,
9:10326 0,
...
}(tied to Perl6::Hash)
为了更容易阅读(我并不在乎tied to Perl6::Hash
)
可以使用JSON看到此哈希元素:
"HG00112": {
"discordant_multiallelic_loss": 0,
"concordant_hom_alt": 4,
"discordant_het_to_alt": 0,
"discordant_hom_alt_to_ref": 0,
"discordant_hom_ref_to_alt": 0,
"lost_site": 0,
"concordant_het": 3,
"discordant_multiallelic_gain": 0,
"discordant_hom_alt_to_het": 0,
"discordant_call_to_no_call": 0,
"discordant_het_to_ref": 0,
"concordant_hom_ref": 5,
"concordant_site": 18,
"discordant_no_call_to_call": 0,
"concordant_no_call": 6,
"concordant_multiallelic": 0,
"gained_site": 0,
"discordant_hom_ref_to_het": 0
}
我通常使用use Data::Printer:from<Perl5>
并使用
Terminal ANSI colors does not work with Inline::Perl5 (Data::Printer)
我已经尝试使用https://metacpan.org/pod/Data::Printer的建议,即
use Data::Printer:from<Perl5> {show_tied => 0}
&use Data::Printer:from<Perl5> show_tied => 0
但都显示错误
从'
Data::Printer
'导入时出错:没有这样的标记'show_tied
'
如何在没有丑陋的Data::Printer
的情况下从var{...
获取输出,使其看起来像第二个代码选择?
答案 0 :(得分:2)
引用the issue I opened in response to this SO中Stefan的解释:
解决方案非常简单:使用
Data::Printer:from<Perl5> 'show_tied', 0;
胖逗号=>
是Raku中的Pair
构造函数,而实际上在Perl 5中只是花哨的逗号。Raku认为{{1} }参数,用于导入Pair
之类的标记(相当于:ALL
)。要解决此问题并传递Perl 5代码的期望,只需单独列出这些值即可。