print map{hex} (split'', unpack 'h4', $n)[2,3,0,1]; #! Gives >> 15 0 0 15 print map{ ( ord($_) & 0xf0 ) >> 4, ord($_) & 0x0f } split//, $n; #! Gives >> 15 0 0 15 print map{ vec $n, $_, 4 } 0 .. 3; #! Gives >> 0 15 15 0 print +(map{ vec $n, $_, 4 } 0 .. 3)[2,3,0,1]; #! Gives >> 15 0 0 15 print map{ ( unpack( 'n' , $n ) >> ( 4 * $_ ) ) & 0xf } 0 .. 3; #! Gives >> 15 0 0 15 $n = unpack 'n', $n; print map{ ($n >>( 4 * $_ )) & 0xf } 0 .. 3; #! Gives >> 15 0 0 15