Buen día,
Estoy haciendo un pequeno programa para recuperar una línea según un patrón dado en una lista de archivos.
Tengo aproximadamente 100000 archivos donde existe una línea que comienza por la palabra "data" luego aprox. 120 espacios y luego hay un número. En realidad yo quiero recuperar estos valores.
Sin embargo, Perl genera un error cuando trato de leer los archivos. Perl dice que no puede abrir la carpeta donde se encuentran los archivos:
chdir($diry)|| die ('It couldnt be:'.$diry.$!."\n");¿Podrían decirme por favor dónde está el error en el código?
Otra pregunta que tengo es que en mis archivos siempre hay dos líneas que empiezan con la palabra "data" pero yo solo quisiera recuperar la primera línea.
¿Podrían decirme cómo se le indica esto en Perl?
Muchas gracias de antemano por su ayuda.
Using perl Syntax Highlighting
#!/usr/bin/perl
#use strict;
use warnings;
use Cwd;
$dir= getcwd;
$folder="folder1";
##################
$file=$dir."/lista";
#########
open (FILE ,$file)|| die ("It couldnt be open");
@arrayin1=<FILE>;
open (FIL,">>OUTFILE.txt")|| die ("It could not be open:OUTFILE.txt $!");
for ($iii=0; $iii<@arrayin1; $iii++ ) {
$diry=$dir."/".$folder."/".$arrayin1[$iii];
chdir($diry)|| die ('It couldnt be:'.$diry.$!."\n");
open (PAGE ,"$diry")|| die ('It couldnt be open:'.$diry.$!."\n");
@arrayentrada=<PAGE>;
for ($j=0; $j<@arrayentrada; $j++ )
{
if($arrayentrada[$j]=~ m/data1/)
{
#print $arrayentrada[$j]."\n";
$data29=$arrayentrada[$j];
print FIL $arrayin1[$iii].'='.$data29;
}
#$hehe=<STDIN>;
}#arrayentrada
}#arrayin1
close FIL;
close FILE;
close PAGE;
Coloreado en 0.005 segundos, usando
GeSHi 1.0.8.4