http://www.perlmonks.org?node_id=1016200


in reply to Re^2: Replacing non ascii in string
in thread Replacing non ascii in string

I can’t reproduce this problem. Can you provide a complete but minimal script that demonstrates the behaviour you are seeing?

Please specify input and output precisely, and also show the output from perl -v.

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

Replies are listed 'Best First'.
Re^4: Replacing non ascii in string
by IanD (Initiate) on Jan 31, 2013 at 05:21 UTC

    I have solved by adding another line

    $url = "http://www.flightcentre.com.au/static/SkiHolidays.xml"; $data_string = get($url); $data_string =~ tr/‘’/'/; $data_string =~ tr/’/'/; $data_string =~ s/'''/'/g;

    For some reason when I view the source of that xml I see the apostrophes that I show here. However to check it I was doing the following:

    $file1 = "aafc.txt"; open (FILE,">$file1"); print FILE $data_string; close(FILE);

    Here I was seeing the string as
    ’Powder Capital’ instead of ‘Powder Capital’ as in the source of the xml. I don't understand why, clearly there has been some type of conversion of character types on reading the file. By making the substitution for ’ instead of ‘ it worked but then produced 3 ''' instead. So by doing that string replacement it worked. Seems bizarre to me but it works!