Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/09/2008, 04:54
Raul21
 
Fecha de Ingreso: agosto-2008
Mensajes: 27
Antigüedad: 15 años, 10 meses
Puntos: 0
comprobar la sintaxis de un fichero

Hola buenos dias:

Tengo un fichero que tiene la siguiente forma:

03401-11-064 AXA WINTERTHUR 9374669J997
0803-05-096 AXA WINTERTHUR 9631548000
02013-11-080 AXA WINTERTHUR 95404458500
0356-00-004 AXA WINTERTHUR 91178084510
01214-07-064 MINISTERIO DE JUSTICIA 91873904544
028-09-096 MINISTERIO DE JUSTICIA 9139094920
02456-03-064 MINISTERIO DE JUSTICIA 91459651670
04626-13-096 MINISTERIO DE JUSTICIA 91763307090
02566-11-096 MINISTERIO DE JUSTICIA 91156026300
01226-03-000 MINISTERIO DE JUSTICIA 913459025

CAda uno de los campos esta separado por un tabulador.

Y lo que quiero es en primer lugar leer el fichero y comprobar que no existe ninguna linea vacia en el fichero.
2) Que existen tres campos separados por tabulador.

He hecho lo siguiente pero no sale, además no se si las comprobaciones las hago bien:

open(FIC,"clientesPrimarios");

$nb_line=0;

while ($line=<FIC>){
$nb_line++;
chop ($line);
if($line=~/^#/){next;}

#Se comprueba que no hay ninguna linea vacia
if($line=~/ /){
close(FIC);
}

@fields=split(/\t/,$line);

$campo1=$fields[0];
#Compruebo si el campo 1 es vacio o no
if($campo1=~/ /){
close(FIC);
# print FIC_LOG "SINTAXIS DE FICHERO INCORRECTA \n";

}
$campo2=$fields[1];
print "$campo2 \n";
if($campo2=~/ /){
close(FIC);
print FIC_LOG "SINTAXIS DE FICHERO INCORRECTA \n";

}
$campo3=$fields[2];
print "$campo3 \n";
if($campo3=~/ /){ close(FIC);
print FIC_LOG "SINTAXIS DE FICHERO INCORRECTA \n";


}
}

close(FIC);

Podrian ayudarme?
Gracias un saludo
~