[caracas-pm] abrir archivo

Ernesto Hernandez-Novich emhn at telcel.net.ve
Tue Oct 19 10:38:37 CDT 2004


On Tue, 19 Oct 2004, Hans Olzem wrote:
> Hola Mongers,
>
> estoy usando lo siguiente para trabajar sobre todos los archivos en un
> directorio.
>
> while (</opt/braz/$year*.T>) {
>     open( R, </opt/braz/$year*.T> ) || die "Error opening: Trackfile";
>                          trabaja sobre cada linea del archivo;
>                                   }
>
>
>
> Cuando uno de estos archivos presenta una falla, el programa aborta con
> un error.
>
> Me gustaria que el programa imprimaria una lista de los archivos sobre
> el cual esta trabajando actualmente para saber cual archivo contiene
> informacion errada.

for my $archivo (</opt/braz/$year*.T>) {
  unless (open(R,$archivo)) {
    print "($archivo) Ignorado pues no pudo ser abierto.\n";
    next;
  } else {
    print "($archivo) Iniciando procesamiento...\n";
    while (<R>) {
      eval {
        ...procesar cada línea en $_...
	...generar errores con die...
      }
      if ($@) {
        ...verificar las condiciones de error específicas en $@...
	# Usando 'last' te puedes salir del while si es "grave"
	# y si no, te recuperas aquí, para procesar la siguiente línea.
      }
    }
    close R;
    print "($archivo) Finalizando procesamiento...\n";
  }
  ...post-procesamiento entre un archivo y otro, si hubiera...
}
-- 
Ernesto Hernández-Novich - On Linux 2.6.9 i686 - Unix: Live free or die!
Geek by nature, Linux by choice, Debian of course.
If you can't apt-get it, it isn't useful or doesn't exist.
GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3


More information about the caracas-pm mailing list