如何将十六进制数字打印到Perl字符串?

时间:2009-12-02 21:53:51

标签: perl string

我有三个整数:

($r, $g, $b) = (255, 128, 0);

我想打印一个字符串,如:

"#FF8000"

使用这些变量。

我该怎么做?

2 个答案:

答案 0 :(得分:11)

my $rgb = sprintf '#%02X%02X%02X', $r, $g, $b;

请参阅sprintfprintf

答案 1 :(得分:3)

您可以使用packunpack来获取十六进制字符串。

my $rgb = '#' . uc unpack 'H6', pack 'C3', $r, $g, $b;