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!