如何在Perl中打印BOLD文本?
问题描述:
我正在使用这里的文档来打印用户的使用信息。有没有办法打印特定单词BOLD类似于UNIX上的手册页。我在Unix上使用这个。有没有办法使用Term :: ANSIColor(或其他方式?)与这里的文档?如何在Perl中打印BOLD文本?
答
1)你可以简单地包括ANSI代码为定界符:
print <<EOD;
XXXX\033[1;30;40m YYYY\033[1;33;43m ZZZZ\033[0mRESET
EOD
2)定界符内插变量,因此,如果您包括ANSI颜色到一个变量,它的工作原理。
my $v="xxxxx";
$var = "\nXXXX\033[1;30;40m YYYY\033[1;33;43mZZZZ\033[0mRESET\n";
print <<EOD;
$var
EOD
3)大厦#2,可以通过期限生成ANSI码:: ANSIColor的color()
方法作为一个字符串,并使用包含该字符串变量在定界符。对不起,没有工作的例子,因为我没有安装ANSIColor,但应该是显而易见的。
您可能希望在特定变量中存储特定的ANSI代码,并将实际文本放在heredoc和sprincle ANSI代码变量中。
答
您可以在heredoc中使用@{[expression]}
语法来评估任意代码。如果您的终端有深色背景和浅色前景色,这个小程序的输出效果会很好:
use Term::ANSIColor;
print <<EOF;
I am using the here doc to print usage messages
for the user. Is there a way to print @{[colored['bright_white'],'specific words']}
BOLD similar to the man pages on unix. I am using
this on Unix. Is there a way to use Term::ANSIColor
(or some other way?) with the here doc?
EOF
+0
规则:谢谢!这也是一个选项。 – Wilderness 2010-11-12 18:28:40
@DVK:Cool!谢谢 ! – Wilderness 2010-11-11 18:56:56
@DVK:请将分号放在它所属的heredoc标记的旁边。你不应该改变事情发生的地方。 – tchrist 2010-11-11 19:02:42
@tchrist - 完成。没有使用heredocs的年龄,对不起。我很好奇,为什么它在heredoc结束后的分号与分号后的分号一样好? – DVK 2010-11-11 19:37:45