use strict; use warnings; my $inputString = "\x03\x04Hi\x43\x08Hello!"; my %myDict = map { unpack "CxA*", $_ } unpack "(xCXX /A)*", $inputString; print "$myDict{0x03}\n"; # "Hi" print "$myDict{0x43}\n"; # "Hello!"