Re: Problems converting Latin1 to HTML

You, Philippe-Andre Prindeville wrote:
++ 
++ Hi.
++ 
++         I'm using perl 4.0pl36 (on an HP-UX 9.01 system) and perl 5.000
++ on a SunOS 4.1.3_U1 system, and I'm trying to convert accented (French)
++ text to HTML via:
++ 
++ 	$line =~ s/[&<>\200-\377]/sprintf("&#%d;", unpack("C", $1))/ge;
++ 
++ thinking this would convert all high-bit set characters to their
++ decimal equivalent as "&#nn;" but this isn't turning out as
++ expected.
++ 
++ 	I'm wondering about this.  Probably something stupid, but....
++ Anyone have a quick fix?

The problem is that $1 doesn't match anything... Use either:
$line =~ s/([&<>\200-\377])/sprintf("&#%d;", unpack("C", $1))/ge;
or:
$line =~ s/[&<>\200-\377]/sprintf("&#%d;", unpack("C", $&))/ge;

This should work too:
$line =~ s/[&<>\200-\377]/sprintf("&#%d;", ord ($&))/ge;



Abigail

Received on Wednesday, 20 December 1995 00:03:34 UTC