加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl6 – 终端ANSI颜色不适用于Inline :: Perl5(Data :: Printer

发布时间:2020-12-15 21:44:46 所属栏目:大数据 来源:网络整理
导读:以下Perl 5脚本: use strict;use warnings;use Data::Printer;my @a = (1,2,3,4);p @a; 给出输出: (注意蓝色),而这个Perl 6脚本: use Data::Printer:fromPerl5;my @a = 1,4;p @a; 给出输出: [ [0] 1,[1] 2,[2] 3,[3] 4] 但数字没有着色(如上面的Perl 5案
以下Perl 5脚本:
use strict;
use warnings;

use Data::Printer;
my @a = (1,2,3,4);
p @a;

给出输出:

(注意蓝色),而这个Perl 6脚本:

use Data::Printer:from<Perl5>;
my @a = 1,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

解决方法

这似乎是 version 0.40 of Data::Printer的问题,这是metacpan上的当前版本.如果我安装了 version 0.99 from GitHub,我也会使用Perl 6获得颜色.另见 this issue.

我调试版本0.40一点点,看起来Perl 5版本对p @a的调用与Perl 6调用的唯一区别在于,在列表上下文中调用了Perl 6调用,因此wantarray返回true对于Perl 6调用,这显然使Data :: Printer以某种方式关闭着色.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读