in reply to SQLServer varbinary headache

I have never worked with SQLServer varbinary, but I think that one of these subroutines will work for you. If you need the binary data in the first output to be transformed into the hex pairs in the second output, then use first_to_second. If you need the reverse, then use second_to_first.
#!/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*', $_; }