我有三个整数:
($r, $g, $b) = (255, 128, 0);
我想打印一个字符串,如:
"#FF8000"
使用这些变量。
我该怎么做?
2 个答案:
答案 0 :(得分:11)
my $rgb = sprintf '#%02X%02X%02X', $r, $g, $b;
请参阅sprintf和printf。
答案 1 :(得分:3)
您可以使用pack
和unpack
来获取十六进制字符串。
my $rgb = '#' . uc unpack 'H6', pack 'C3', $r, $g, $b;