调用方法: &printColorText(#背景色#,#前景色#, #内容#); 介绍: 主要用了系统本身的echo命令完成,不需要另外安装CPAN库,但有系统依赖性。这只是两个最简单的示例,如果要实现通用跨平台的方法,只需要判断当前系统类型即可。 程序: Linux和Solaris有一点不同,Linux需要echo -e, Solaris直接echo, Linux版本, view plaincopy to clipboardprint? #! /usr/bin/perl &printColorText(40,31,"TextToTest Color"); sub printColorText{ if(@_!=3){ print "WARNING! &printColorText should get exactly three arguments!\n"; } else { $fc=$_[0]; $bg=$_[1]; $text="$_[2]"; $color="\\033[$fc;$bg"."m"; $endstyle="\\033[0m"; $content = "\"".$color.$text.$endstyle."\""; system "echo -e $content\n"; } } #! /usr/bin/perl &printColorText(40,31,"TextToTest Color"); sub printColorText{ if(@_!=3){ print "WARNING! &printColorText should get exactly three arguments!\n"; } else { $fc=$_[0]; $bg=$_[1]; $text="$_[2]"; $color="\\033[$fc;$bg"."m"; $endstyle="\\033[0m"; $content = "\"".$color.$text.$endstyle."\""; system "echo -e $content\n"; } } Solaris版本, view plaincopy to clipboardprint? #! /usr/bin/perl &printColorText(40,31,"TextToTest Color"); sub printColorText{ if(@_!=3){ print "WARNING! &printColorText should get exactly three arguments!\n"; } else { $fc=$_[0]; $bg=$_[1]; $text="$_[2]"; $color="\\033[$fc;$bg"."m"; $endstyle="\\033[0m"; $content = "\"".$color.$text.$endstyle."\""; system "echo $content\n"; } } #! /usr/bin/perl &printColorText(40,31,"TextToTest Color"); sub printColorText{ if(@_!=3){ print "WARNING! &printColorText should get exactly three arguments!\n"; } else { $fc=$_[0]; $bg=$_[1]; $text="$_[2]"; $color="\\033[$fc;$bg"."m"; $endstyle="\\033[0m"; $content = "\"".$color.$text.$endstyle."\""; system "echo $content\n"; } } 颜色参数说明, 1. 前景色: 数字颜色数字颜色 3 0 黑色3 4 蓝色 3 1 红色3 5 紫色 3 2 绿色3 6 青色 3 3 黄(或棕)色3 7 白(或灰)色 2. 背景色: 数字颜色数字颜色 4 0 黑色4 4 青色 4 1 红色4 5 蓝色 4 2 绿色4 6 青色 4 3 黄(或棕)色4 7 白(或灰)色 |