如何在 Perl 中打印此处文档中的粗体文本?

发布于 2024-10-02 03:14:12 字数 133 浏览 6 评论 0原文

我正在使用此处的文档为用户打印使用消息。有没有办法打印特定的单词 BOLD 类似于 unix 上的手册页。我在 Unix 上使用这个。有没有办法将 Term::ANSIColor (或其他方式?)与此处的文档一起使用?

I am using the here doc to print usage messages for the user. Is there a way to print 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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

扭转时空 2024-10-09 03:14:12

1) 您可以简单地将 ANSI 代码包含到 Heredoc 中:

print <<EOD;
XXXX\033[1;30;40m YYYY\033[1;33;43m ZZZZ\033[0mRESET
EOD

2) Heredoc 插入变量,因此如果您将 ANSI 颜色包含到变量中,它就可以工作。

my $v="xxxxx";
$var = "\nXXXX\033[1;30;40m YYYY\033[1;33;43mZZZZ\033[0mRESET\n";
print <<EOD;
$var
EOD

3) 在 #2 的基础上,您可以通过 Term::ANSIColor 的 color() 方法将 ANSI 代码生成为字符串,并在此处文档中使用包含该字符串的变量。抱歉,没有有效的示例,因为我没有安装 ANSIColor,但应该是显而易见的。

您可能希望将特定的 ANSI 代码存储在某个特定变量中,并将实际文本放入 heredoc 和 sprincle ANSI 代码变量中。

1) You can simply include ANSI codes into heredoc:

print <<EOD;
XXXX\033[1;30;40m YYYY\033[1;33;43m ZZZZ\033[0mRESET
EOD

2) Heredoc interpolates the variables, so if you include ANSI colors into a variable, it works.

my $v="xxxxx";
$var = "\nXXXX\033[1;30;40m YYYY\033[1;33;43mZZZZ\033[0mRESET\n";
print <<EOD;
$var
EOD

3) Building on #2, you can generate ANSI codes via Term::ANSIColor's color() method as a string and use the variable containing that string in the heredoc. Sorry, no working example since I don't have ANSIColor installed but should be obvious.

You may want to store a specific ANSI code in some specific variable and put the actual text in heredoc and sprincle ANSI-code variables there.

迟到的我 2024-10-09 03:14:12

您可以在定界文档中使用 @{[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

You can use the @{[expression]} syntax within a heredoc to evaluate arbitrary code. The output of this little program will look OK if your terminal has a dark background and light foreground color:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文