Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了perl6 – 终端ANSI颜色不适用于Inline :: Perl5(Data :: Printer)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
以下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以某种方式关闭着色.

大佬总结

以上是大佬教程为你收集整理的perl6 – 终端ANSI颜色不适用于Inline :: Perl5(Data :: Printer)全部内容,希望文章能够帮你解决perl6 – 终端ANSI颜色不适用于Inline :: Perl5(Data :: Printer)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。