#!/usr/local/perl5.006/bin/perl -w
use strict;
my $var = shift;
print "var: $var\n";
my $temp = sprintf "%lx", $var;
print "temp: $temp\n";
my $packed = pack "H*", $temp;
print "packed: $packed\n";
$temp = unpack "H*", $packed;
print "temp: $temp\n";
my $unpacked = hex $temp;
print "unpacked: $unpacked\n";
####
>pack.pl 12
var: 12
temp: c
packed: À
temp: c0
unpacked: 192
>
####
16^0 <= x < 16^1 (# of hex digits is odd) bad
16^1 <= x < 16^2 (# of hex digits is even) good
16^2 <= x < 16^3 (# of hex digits is odd) bad
16^3 <= x < 16^4 (# of hex digits is even) good
...