[Ayuda] HELP!!!!!!
Gunnar Wolf
gwolf en campus.iztacala.unam.mx
Jue Dic 13 12:35:02 CST 2001
> Estoy trabajando en una rutina de perl donde intento basiar el
> contenido de dos archivos en un tercero, pero alguna razon este no
> jala. Alguien me podria hechar la mano. Gracias de ante mano.
Tu script tiene varios problemas. Voy.
> #!/usr/bin/perl -w
> print "cual es el nombre del archivo que quieres hacer:\n";
> chomp($archivo=<STDIN>);
> open (HEAD, ">head.txt");
Esto destruirá tu archivo fuente. Asómate a la sintaxis de open (con
perldoc -f open). Tienes que darle:
open(HEAD, '<head.txt');
> $head=HEAD;
Esto no significa nada, y si usas strict (*muy* recomendable) tu programa
ni siquiera compilará.
Si vas a leer una sóla línea,
$head=<HEAD>
Pero probablemente quieras leer el archivo completo:
@head=<HEAD>
> open (BODY, ">body.txt");
> $body=BODY;
Mismos comentarios.
> print "$hea :\n";
No entiendo... Pero bueno :)
> $texto=$head.$body;
ok
> close (HEAD);
> close (BODY);
> open (ARCHIVO, "+>>$archivo");
Sip. Ahora, no creo que necesites el modo +>> - Puede bastarte con >> o
con >, depende de tus necesidades.
> print ARCHIVO "$texto";
> close (ARCHIVO);
Te sugiero rehacer el programa. Como lo tienes, puede que requiera una
cantidad tremenda de memoria, pues lee los archivos completos a memoria,
los concatena y los imprime. Te paso este, sin probar y al costo.
========================================================
#!/usr/bin/perl -w
use strict;
my ($arch_dest,$arch_1,$arch_2);
$arch_1 = 'head.txt';
$arch_2 = 'body.txt';
print 'Nombre del archivo destino: ';
chomp($arch_dest = <STDIN>);
open(ARCHIVO,">>$arch_dest") or die "No pude abrir para escritura el archivo $arch_dest: $!";
open(HEAD,"<$arch_1") or die "No pude abrir el primer archivo ($arch_1): $!";
print ARCHIVO $linea while (my $linea = <HEAD>);
close(HEAD);
open(BODY,"<$arch_2") or die "No pude abrir el segundo archivo ($arch_2): $!";
print ARCHIVO $linea while (my $linea = <HEAD>);
close(BODY);
close(ARCHIVO);
========================================================
PD - Te puede ser útil entrar a la lista perl en tlali.iztacala.unam.mx,
puedes hacerlo en http://tlali.iztacala.unam.mx/mailman/listinfo/perl
Saludos,
--
Gunnar Wolf - gwolf en campus.iztacala.unam.mx - (+52-55)5623-1118
_______________________________________________
Ayuda mailing list
Ayuda en linux.org.mx
Más información sobre la lista de distribución Ayuda