Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: <<The Joker>> en 13 Enero 2006, 22:38 pm



Título: LECTURA DE ARCHIVOS EN PERL
Publicado por: <<The Joker>> en 13 Enero 2006, 22:38 pm
Saludos a la comunidad...
Esta vez recurro a ustedes ya que necesito URGENTEMENTE una solucion efectiva a mi aprendizaje del lenguaje PERL...
me estoy guiando por el tutorial "ddiego" que postularon en este foro, aparte del api de ActivePerl... pero como todo inicio en el aprendizaje de lenguajes, a veces las cosas mas basicas son las que cuestan.. estoy seguro que luego de entende run poco la sintaxys y procesos de este lenguaje, me podre desenvolver mejor...
el asunto es el siguiente:
Estoy programando una aplicacion web dinamica con Perl y CGI´s...  estoy usando como entrada de datos una serie de archivos,  y aunque veo que el comando OPEN es muy poderoso siento que no se como hacer ciertas valicaciones... por ejemplo,   necesito meter todo el contenido del archivo estructurado en un arreglo pra luego hacer algunas cosas., la cosa es que tengo problemas  con la validacion de FIN DE ARCHIVO, intente leer caracter por caracter y  validar un caracter especial que tengo al finalizar el archivo, pero algo EXTRAÑO paso y cuando estaba almacenando el arreglo de caracteres dentro de otro arreglo con el contenido, me almaceno solo la primera letra de cada linea del archivo ( mas abajo les pego el codigo...) , luego de eso intnte usar la funcion de perl READLINE.... con lo cual vi una posible solucion, se ve mas facil.. PERO SOLO ME LEE LA PRIMERA LINEA...

les pido un poco de orientacion, se que luego de entender algunas cosas.. todo los siguientes pasos se me haran mas facil..

 el codigo de evaluar caracter por caracter es este:

  open (ARCHIVO,'Beisbol.txt')
   or die ("no se ha podido encontrar el archivo");

#**********************************************************************
          #EVALUA CARACTER POR CARACRTER Y LOS ALMACENA EN ARREGLO
#**********************************************************************


   while ($logico!=1)  # Mientras no llegue a fin de linea no sale
   {
   read (ARCHIVO, $cadena, 1); #los lee
   if ($cadena ne "\n")
          {@temporal[$i]=$cadena;
        $i++;
        if ($cadena eq "<"){$logico=1;}
        }
   else{
         
         @temporal2[$e]=$cadena;
         $e++;
         @temporal=0;
         $i=0;
          }
           }

"la ultima linea del archivo TXT contiene el caracter <"

Aqui lo que hago es aveluar caracter por caracter hasta llegar al final de la linea, cuando llego al final de la linea pretendo guardar ese arreglo CON LA LINEA ALMACENADA EN OTRO ARREGLO (temporal2)... pero solo me almacena la primera letra de la linea  :huh:...

Bueno.. ese es mi dilema ahora...

Necesito que alguien me ayude a leer un archivo plano y poderlo almacenar en una estructura dentro de la memoria.. ESE es todo mi problema.. se ve facil no?...

Solo un newbie mas...  gracias a todos.

THE JOKER Venezuela


Título: Re: LECTURA DE ARCHIVOS EN PERL
Publicado por: sch3m4 en 15 Enero 2006, 18:34 pm
no se si te puede servir esto http://www.eui.upm.es/CC/Chuletas/Perl/manejoficheros.html


Título: Re: LECTURA DE ARCHIVOS EN PERL
Publicado por: <<The Joker>> en 16 Enero 2006, 02:09 am
Muchas gracias,  con ese link respondiste la pregunta....    la solucion era la unica opcion que no intente  :-[ ... <ARCHIVO>,  bueno GRACIAS