在写 Perl Script 时通常我会将错误讯息用红色显示, Warning 用黄色, 执行正确用录色, 看似没什么用, 但其实很方便, 不用细心看输出内容就可以知道有没有错误。在另一篇文章 Shell Script 输出颜色文字 介绍了在 Shell Script 输出颜色文字的方法, 但这个方法并不好记, 因为颜色码是数字, 通常用过就会忘记。
Perl 要印出颜色文字同样可以用上面提及的颜色码, 但另一个更方便的做法是用内建的 ANSIColor 模组, 用 ANSIColor 的好处是不用记颜色码, 直接用颜色的英文名称即可, 例如 red, green, blue 等, 用法如下:
|
1 2 3 4 5 6 |
#!/usr/bin/perl use Term::ANSIColor; print RED, "Stop!\n", RESET; print GREEN, "Go!\n", RESET; |
上面会印出红色的 “Stop!” 及录色的 “Go!”, 而要注意的是, 跟 Shell Script 的做法一样, 在转换颜色后, 要手动转回默认颜色, 上面是用 RESET 将文字颜色变回默认值。
除了变更输出文字的颜色外, 也可以改变文字的底色, 例如:
|
1 2 3 4 |
#!/usr/bin/perl use Term::ANSIColor; print ON_RED, "Hello", RESET, "\n"; |
上面会印出红色底色, 及默认颜色的 “Hello”。