I am trying to clean up a file (file.txt) which was part of a database  
and it comes with a lot of strange characters mixed up with the text.  
The output file is file2.txt

I would like to read the file into a variable called $text, create a  
regular expression that cleans it and print again the output file  
eliminating non readable chars.

$text is the variable that contains the text to be cleaned.

This is the content of the input file called file.txt:

^E        ^E        ^E       ÿÝ.Anodizado<br>^@    Ultima  
actualización: 06-Mar-2004     [EMAIL PROTECTED]://www.kr2-egb.com.ar/ 
anodizado.htm^@
[EMAIL PROTECTED] es el anodizado?<br>[EMAIL PROTECTED] escuchamos este 
termino, lo  
primero que se nos cruza por la cabeza es el coloreado del aluminio,  
pues algo de eso tiene, pero en si el proceso de anodizado es una  
forma de proteger el aluminio contra de los agentes atmosféricos.  
Luego del extruído o decapado, este material entra en contacto con el  
aire y forma por si solo una delgada película de oxido con un espesor  
mas o menos regular de 0,01 micrones denominada oxido de aluminio,  
esta tiene algunas mínimas propiedades [EMAIL PROTECTED], el proceso  
de anodizado consiste en obtener de manera artificial películas de  
oxido de mucho mas espesor y con mejores características de protección  
que las capas naturales, estas se obtienen mediante procesos químicos  
y electrolíticos. Artificialmente se pueden obtener películas en las  
que el espesor es de 25/30 micrones en el tratamiento de protección o  
decoración y de casi 100 micrones con el procedimiento de  
endurecimiento superficial (Anodizado Duro).

The script I use to read the file is:

#!/usr/bin/perl

open(FILE,"<file.txt") or die;
@text=<FILE>;
close(FILE);

$text= join "",@text;
#$text=~s/![a-zA-Z][0-9]//g; #not used so far
print $text;

open(FILE,">file2.txt") or die;
print FILE $text;
close(FILE);


When I print the $text variable to STDOUT, the output replaces (1)  
chars as for example ñ, á, é, í, ó, ú by a question mark as follows:

                        ??.Anodizado<br>    Ultima actualizaci?n: 06- 
Mar-2004     http://www.kr2-egb.com.ar/anodizado.htm
?Que es el anodizado?<br>Cuando escuchamos este termino, lo primero  
que se nos cruza por la cabeza es el coloreado del aluminio, pues algo  
de eso tiene, pero en si el proceso de anodizado es una forma de  
proteger el aluminio contra de los agentes atmosf?ricos. Luego del  
extru?do o decapado, este material entra en contacto con el aire y  
forma por si solo una delgada pel?cula de oxido con un espesor mas o  
menos regular de 0,01 micrones denominada oxido de aluminio, esta  
tiene algunas m?nimas propiedades protectoras.Bien, el proceso de  
anodizado consiste en obtener de manera artificial pel?culas de oxido  
de mucho mas espesor y con mejores caracter?sticas de protecci?n que  
las capas naturales, estas se obtienen mediante procesos qu?micos y  
electrol?ticos. Artificialmente se pueden obtener pel?culas en las que  
el espesor es de 25/30 micrones en el tratamiento de protecci?n o  
decoraci?n y de casi 100 micrones con el procedimiento de  
endurecimiento superficial (Anodizado Duro).

And it also eliminates (2) chars as        ^E        ^E         
^E       ÿÝ ^@

I really like to eliminate those chars (2), but not the chars (1): ñ,  
á, é, í, ó, ú

Anyway, after reading the contents in the file2.txt, no change in the  
is produced with respect to the contents of file.txt
file.txt and file2.txt are identical.

I would like to clean the file of the type (1) chars but keep the type  
(2) chars.
What's the way to do it?



_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to