gpt4 book ai didi

perl - 打印到终端时,Perl 如何在颜色之间切换?

转载 作者:行者123 更新时间:2023-12-01 06:36:37 24 4
gpt4 key购买 nike

为什么下面的脚本不起作用?

use strict;
use warnings;

use Term::ANSIColor ':constants';
my @colors = ( BLUE, GREEN );
my $select;

my @data = 1 .. 10;
print { $colors[$select++ % @colors] } $_, "\n" for @data;

输出:

Can't use string ("") as a symbol ref while "strict refs" in use at - line 9.

最佳答案

您正在使用 print { $fh } @strings 语法 ( documented here )。花括号中的东西(在简单情况下实际上是可选的)被解释为文件句柄。在这里,您传递一个字符串而不是文件句柄对象,因此 Perl 查找具有该字符串名称的全局变量。不幸的是,这个字符串包含时髦的命令序列(碰巧是不可打印的)而不是一些可用的变量名。

解决方案:不要使用那种奇怪的语法,直接使用

my $select = 0;
print $colors[$select++ % @colors], $_, "\n" for 1 .. 10;

关于perl - 打印到终端时,Perl 如何在颜色之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22330574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com