#!/usr/bin/perl -w use strict; use constant DLE=>0x10; use vars qw($DLE_C); $DLE_C = chr(DLE); my $msg = pack ("CCCCC", 0x31, 0x32, 0x10, 0x10, 0x33); # match $dle's expanded, replacement is not expanded ? $msg =~ s/$DLE_C$DLE_C/$DLE_C/g; printf ("%02x " x length($msg) . "\n", unpack ("C*", $msg)); #### $msg =~ s/(\x{$dle})\x{$dle}/$1/g;