sub toComp3{ my $num = shift; my @digits = split'',abs $num; unshift @digits, 0 unless @digits & 1; push @digits, $num < 0 ? 13: 12; my $comp3 = ''; $comp3 .= chr( shift( @digits ) * 16 + shift( @digits ) ) while @digits; return $comp3 } print unpack 'H*', toComp3( 240 );; 240c