#!/usr/bin/perl use warnings; use strict; my $bar = "\x04\x4d"; my $foo = "044d"; my $string; while ($foo =~ m/(..)/g) { $string .= chr($1); } print "string: $string\n"; print "bar: $bar\n"; Argument "4d" isn't numeric in chr at roman.pl line 11. string:  bar: M