以下 Perl 5 脚本:
use strict;
use warnings;
use Data::Printer;
my @a = (1,2,3,4);
p @a;
给出输出:
![enter image description here](https://i.stack.imgur.com/6K9vd.png)
(注意蓝色),而这个 Perl 6 脚本:
use Data::Printer:from<Perl5>;
my @a = 1,2,3,4;
p @a;
给出输出:
[
[0] 1,
[1] 2,
[2] 3,
[3] 4
]
但数字没有着色(对于上面的 Perl 5 情况)。
系统信息:
$ perl --version
This is perl 5, version 29, subversion 3 (v5.29.3) built for x86_64-linux
$ perl6 -e '.say for $*DISTRO, $*VM, $*PERL.compiler.version'
ubuntu (18.10.Cosmic.Cuttlefish)
moar (2018.11)
v2018.11
这似乎是一个问题版本 0.40Data::Printer这是metacpan 上的当前版本。如果我安装来自 GitHub 的 0.99 版我也用 Perl 6 获得颜色。也可以看看这个问题.
我对 0.40 版本进行了一些调试,这似乎是调用之间的唯一区别p @a
Perl 5 版本与 Perl 6 中的相同调用的区别在于 Perl 6 调用是在列表上下文中调用的,因此wantarray对于 Perl 6 调用返回 true,这显然使得Data::Printer
以某种方式关闭着色。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)