he hecho un script que me permite abrir el archivo "funcions.txt" donde solo me interesan las líneas que contengan "glycolisis" o "neogenesis" porque llevan un código que necesito posteriormente.
Una vez consigo esta información quiero leer el archivo "lee.txt" para extraer de él las líneas que contengan los códigos anteriores y guardarlos en:
- GL.txt: si contiene los códigos de glycolisis
- NL.txt: si contiene los códigos de neogenesis
El script que he ideado es el siguiente:
Using perl Syntax Highlighting
- use strict;
- open( arxiu, "funcions.txt" ) or die("No el puc obrir");
- open( arxiu1, "lee.txt" ) or die("No el puc obrir!");
- open( arxiu2, ">GL.txt" ) or die("el GL no s'obre");
- open( arxiu3, ">NL.txt" ) or die("el GL no s'obre");
- while (<arxiu>) {
- my @llista = split( /\t/, $_ );
- if ( $llista[1] =~ /glycolysis/ ) {
- my @gensGL = $llista[0];
- }
- if ( $llista[1] =~ /neogenesis/ ) {
- my @gensNL = $llista[0];
- }
- while (<arxiu1>) {
- my @llista2 = split( /\t/, $_ );
- if ( $llista2[1] eq $gensGL[0] ) {
- print arxiu2 "$_";
- }
- if ( $llista2[1] eq $gensNL[0] ) {
- print arxiu3 "$_";
- }
- }
- }
- close(arxiu) or die("no el puc tancar");
- close(arxiu1) or die("no el puc tancar");
- close(arxiu2) or die("no el puc tancar");
- close(arxiu3) or die("no el puc tancar");
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Por desgracia me sale error: requires explicit package name (refiriéndose a @gensNL y @gensGL dentro de los últimos dos "if" del script). No consigo solventar este problema y me gustaría saber si seríais tan amables de ayudarme.
Muchas gracias,
Kuronno.