in reply to Hexadecimal character references not understood inside a regex

The $string is probably a Unicode string. It makes a difference:
perl -CO -wE ' for my $s ( "á", do { use utf8; "á" } ) { say $s, $s =~ $_ ? 1 : 0 for qr/\xc3\xa1/, qr/\xe1/ }'

Output in a utf-8 terminal:

á1 á0 á0 á1
لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ