por alexclipse » 2012-04-11 10:10 @465
Yo aun no lo he resuelto, ¡je,je!
Tengo esto (después de quitar el "\n" de cada variable):
my ($b1,$b2,$b3,$b4,$b5,$b6,$b7,$b8,$b9);
my $origen = "texto1.txt";
my $resultado = "resultado.txt";
open (FILEHANDLE, $origen) || die "No se pudo abrir el archivo \"$infile\": $!";
open (FILEHANDLE2, ">$resultado") || die "No se pudo abrir el archivo \"$infile\": $!";
$b1=<FILEHANDLE>;
if ($b1 =~ /BASURA/) { # Si la línea correspondiente a b1 contiene basura
$resultado -= $b1;} # Al archivo le elimino la línea
else {print "$b1" and $resultado += $b1}; # Si no, imprimo la línea en la línea de comandos
# Y la añado al archivo resultado.
$b2=<FILEHANDLE>;
if ($b2 =~ /BASURA/) {
$resultado -= $b2;}
else {print "$b2" and $resultado += $b2};
$b3=<FILEHANDLE>;
print "$b3";
$b4=<FILEHANDLE>;
print "$b4";
$b5=<FILEHANDLE>;
print "$b5";
$b6=<FILEHANDLE>;
print "$b6";
$b7=<FILEHANDLE>;
print "$b7";
$b8=<FILEHANDLE>;
print "$b8";
$b9=<FILEHANDLE>;
print "$b9";
close (FILEHANDLE);
Sin embargo el programa me crea el archivo resultado, me imprime la línea 1 y no la 2, pero no escribe la línea 1 en el archivo resultado. ¿A qué se debe?