use strict; use warnings ; my $z = ; printf "\$z=%s, ~\$z=%s\n", show($z), show(~$z) ; sub show { return '"'. join('', map { sprintf('\\x%02X', ord($_)) } split(//, $_[0])) .'"' ; } ; __DATA__ 0x1234