#!/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 ...