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

用Perl在终端上打印彩色字符

发布时间:2020-12-15 23:55:39 所属栏目:大数据 来源:网络整理
导读:如果在使用Perl的过程中,要在终端上打印出彩色字符,可以使用CPAN中的Term::ANSIColor模块。现在简单地介绍一下这个模块的几种使用方法: 1)use Term::ANSIColor; color()是把任意数量的颜色属性串成一个用空格分隔的字符串并存到变量color里,然后可以用

如果在使用Perl的过程中,要在终端上打印出彩色字符,可以使用CPAN中的Term::ANSIColor模块。现在简单地介绍一下这个模块的几种使用方法:

1)use Term::ANSIColor;

color()是把任意数量的颜色属性串成一个用空格分隔的字符串并存到变量color里,然后可以用普通的print方法输出彩色字符串。

例如:

print color ‘bold blue’;
print “This text is bold blue./n”;

这样就会打印出蓝色的粗体字。

记住输出到color里的颜色属性一定要是

clear,reset,dark,bold,underline,underscore,blink,reverse,concealed,black,red,green,yellow,blue,magenta,cyan,white,on_black,on_red,on_green,on_yellow,on_blue,on_magenta,on_cyan,and on_white

这些。颜色属性不区分大小。普通颜色是设置前景色,而在前面添加了on_的颜色就是背景色了,例如on_blue就是把背景设成蓝色。

当你打印完需要输出的消息后,记得用reset属性把颜色去掉,否则以后的内容全部都是显示成该种颜色。该语句如下:

print color ‘reset’;

一个完整的例子就是:

print color ‘bold red’;
print “The steps you can do by this auto-tool:/n”;
print color ‘reset’;

2) use Term::ANSIColor qw(:constants);

如果使用这种方法,可以直接把颜色属性放在要输出的问题前面,从而简化输出步骤。这些颜色属性有:

CLEAR,RESET,BOLD,DARK,UNDERLINE,UNDERSCORE,BLINK,REVERSE,CONCEALED,BLACK,RED,GREEN,YELLOW,BLUE,MAGENTA,CYAN,WHITE,ON_BLACK,ON_RED,ON_GREEN,ON_YELLOW,ON_BLUE,ON_MAGENTA,ON_CYAN,and ON_WHITE

等。

例如:
print BOLD BLUE ON_WHITE “Text”,“/n”;

如果你打印完之后想清除掉字符串的格式,一定要记得在最后加上一个RESET的属性值。
例如:

use Term::ANSIColor qw(:constants);
print BOLD,“This text is in bold blue./n”,RESET;

3) $Term::ANSIColor::AUTORESET = 1;

对于2)的方法,如果你不想在每条打印语句后面加上RESET的话,你可以直接把$Term::ANSIColor::AUTORESET的值设为true。这样每次打印完字符,只要你的属性值之间没有逗号,系统将自动帮你清除掉颜色属性。

看一个完整的例子:

use Term::ANSIColor qw(:constants);
$Term::ANSIColor::AUTORESET = 1;
print BOLD BLUE “This text is in bold blue./n”;
print “This text is normal./n”;

这三种方法,使用起来各有千秋,可根据要打印的复杂程度选用。

(编辑:李大同)

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

    推荐文章
      热点阅读