Matching encoded strings and file names

[email protected]
Newsgroups perl.unicode
Message-ID <[email protected]>

Hello,

  I have the following problem I need to solve. I hope someone
here can help me with that. Let's say I have a txt file which
contains a list of strings. Some of these strings contain
characters encoded in this fashion:


R\xC3\xA9union (\xC3\xA9 is one character - e with an accent).


  I also have directory which contains many files, some of which
also contain these special characters. What I would like to do
is find any strings from the txt file that match file names in
the directory. I have tried the following. Assuming
'R\xC3\xA9union' is in $in and the current file name from the
directory is in $file:


$in =~ s/\\x(..)/chr(hex($1))/eg;
$file =~ s/\..*//; # get rid of the extension


if ( $in eq $file ) {
    print "Success.\n";
}
else {
    print "Join the perl-unicode mailing list and seek help.\n";
}

Now, this fails, even though when I look at the file name it is
Reunion (with accented e). This fails because my $in =~ s///
didn't produce an accented e, although I've checked that \xC3\xA9
is the correct encoding for that character. Can you please tell
me what I am doing wrong and, more generally, how to correctly
make these kinds of string comparisons with strange characters?

Thank you!


Best regards,
Angie
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.