http://qs321.pair.com?node_id=11136191

drsweety has asked for the wisdom of the Perl Monks concerning the following question:

Hello there! I'm looking for a generic solution to split any number into single bytes printed in hex and separated by space, e.g.:
2 => 2
20 => 14
200 => c8 00
2000 => d0 07
20000 => 20 4e
200000 => 40 0d 03 00
... and so on
I've come up with the following code which works like a charm as long as I'm telling it what type of number (char, short, long, quad) it needs to convert:
$ perl -wle "print join ' ', unpack('(H2)*', pack('c', 2));"
02
$ perl -wle "print join ' ', unpack('(H2)*', pack('s', 200));"
c8 00
$ perl -wle "print join ' ', unpack('(H2)*', pack('l', 200000));"
40 0d 03 00
Is there a generic solution where I don't have to specify the data type for pack()?