I suspect that the X11 cut buffer is what's munging
your data. You could test this by not using it...
# create a string with binary data
my $binary="string\000with\000nulls";
# empty out the entry widget
$entrywidget->delete(0,"end");
# insert the data
$entrywidget->insert(0,$binary);
# pull back the data with get and compare to the
# original data
my $gotback=$entrywidget->get();
if ($binary ne $gotback) {
print "hmm...buggy?\n";
# throw in some hexdumps here ?
}
If you can't solve the problem with binary data,
perhaps you could have the user input the binary
data with some sort of encoding (Base64, urlencoded,etc) ?