$x =~ tr/://d; my $y = pack('H*', $x); #### my $y = pack('H*', $x =~ tr/://dr); # 5.14+ required #### (my $y = $x) =~ s/([0-9a-fA-F]{2}):?/chr(hex($1))/eg; #### my $y = $x =~ s/([0-9a-fA-F]{2}):?/chr(hex($1))/egr; # 5.14+ required #### my $y = pack 'C*', map hex, split /:/, $x; #### my $y = join '', map chr hex, split /:/, $x;