#!/usr/bin/perl -w use strict; my $x = '0x0105000000000005150000009E15AE084A7CBC7A881C6A37C63F0000'; open GG, ">c:/PerlMonks_346728.out" or die; binmode GG or die; print GG second_to_first($x); close GG or die; sub first_to_second { return join('', '0x', unpack 'H*', $_[0]); } sub second_to_first { local $_ = shift; s{^0x}{}i or die; return pack 'H*', $_; }