以下Perl 5脚本:
use strict;
use warnings;
use Data::Printer;
my @a = (1,2,3,4);
p @a;
Run Code Online (Sandbox Code Playgroud)
给出输出:
(注意蓝色),而这个Perl 6脚本:
use Data::Printer:from<Perl5>;
my @a = 1,2,3,4;
p @a;
Run Code Online (Sandbox Code Playgroud)
给出输出:
[
[0] 1,
[1] 2,
[2] 3,
[3] 4
]
Run Code Online (Sandbox Code Playgroud)
但数字没有着色(如上面的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
Run Code Online (Sandbox Code Playgroud)
这似乎是0.40 版本Data::Printer的问题,该版本是 Metacpan 上的当前版本。如果我从 GitHub 安装 0.99 版本,我也会使用 Perl 6 获得颜色。另请参阅本期。
我对版本 0.40 进行了一些调试,看起来p @aPerl 5 版本的调用与 Perl 6 的相同调用之间的唯一区别是 Perl 6 调用是在列表上下文中调用的,因此wantarray对于 Perl 6 返回 true调用,这显然会以Data::Printer某种方式关闭着色。
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |