por explorer » 2008-01-24 18:59 @833
¡AAAaahhh! Primero dices a la vez y ahora dices 'uno y después otro'.
No te hace falta fork().
Primero tienes que entender el funcionamiento, orientado a objetos, de Net::FTP.
Si te fijas en tu código, estás creando un objeto $FTP por cada una de las %conexiones y bajando los $file.
A propósito... for $file in `$FTP->dir("*.xxx")`; do ... done no es lenguaje Perl, sino shell. Se nota que estabas editando el fichero por ahí.
Bueno, dices que quieres subir los ficheros que has descargado... Después de que termine el bucle foreach() de las %conexiones, tenemos en nuestro directorio todos los ficheros '.xxx'. Bueno, pues solo tienes que crear un nuevo objeto $FTP, hacer $login a la máquina destino y subir los ficheros con un put(). Claro que solo puedes subirles uno a uno, por lo que necesitarás hacer un foreach $file ( <*.xxx> ) para subirles todos.
La respuesta es esa: crear una conexión más, pero en vez de get, hacer put.
Hay otros módulos (como Net::FTP::Recursive) que permite subir o bajar un directorio entero.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES