Hi! Im gonan try to help you, cause Im doing the same. Getting certain files from a FTP Server, saving them in a directory already defined, unziping them in a temp directory, parsing the file (thanks to all the list), and saving some data to a MySql DataBase.
> Data.txt is apx 170MB > Data.txt is zipped into 'data.zip' which is 18MB > File 'data.zip' is ftped from winders to unix server Here you will need Net::FTP, access the FTP Server, and download just the Zip Files to a directory. my $ftp = Net::FTP->new($this->{CONFIG_SERVIDORFTP}); #Log in $ftp->login($this->{CONFIG_USUARIOFTP}, $this->{CONFIG_PASSWORDFTP}); #Go to the directory where the Zips are $ftp->cwd($this->{CONFIG_DIRZIPSFTP}); #Ftp to binary $ftp->binary(); #Save a List of Files my @lista_zips = $ftp->ls($this->{CONFIG_DIRZIPSFTP}); #Get total of Zips my $total_zips = @lista_zips; #Start working just if there are Zip Files if($total_zips != 0) { #Start looking for the files foreach (@lista_zips) { #Look for the files that contains the ext. zip if($_ =~ /.zip/i) { #Download the file to a directory $ftp->get($_,"$this->{CONFIG_DIRRECEP}/$_"); #Delete the file from the Ftp $ftp->delete($_); } } } #Exit Ftp $ftp->quit(); However, after all this, I check with File::MMagic, if those were really Zip Files, if a file just have the ext of zip but its not a Zip File I remove it. > Now heres' where my perl script comes in: > Perl/Archive::Zip (or other module???) Yes.. Archive::Zip Its easy, Cause I dont know if the files that are inside the zip will appear in a directory, Im going to unzip it in a Directory with the same name of the Zip (obvious, remove the .zip ext), but You could do it with basename. sub descomprimir_zip { my $this = shift; #Lenght of the File my $letrasarchivo = length($this->{FILE_ZIP}); #extract the name, before the .zip or .ZIP my $this->{FILE_SZIP} = substr($file, 0, $letrasarchvio-4); #Create the directory where Im going to unzip it my $this->{DIR_DESCZIP} = $dir_desczip = $this->{CONFIG_DIRPRINCIPAL}."/".$_[0]."/".$this->{FILE_SZIP}; #Wheres the f*** zip fIle? my $dir_pathzip = $this->{CONFIG_DIRPRINCIPAL}."/".$this->{CONFIG_DIRRECEP}; #Create the $zip object my $zip = Archive::Zip->new(); #Where is the file? $zip->read($dir_pathzip."/".$this->{FILE_ZIP}); #Unzip it in $this->{DIR_DESCZIP}, Im adding a /, so $zip, knows that it will be a directory. $zip->extractTree('', $this->{DIR_DESCZIP}."/"); #Exit of Zip, just undef $zip (its not necessary) $zip = undef; } And thats all, Your files will be in DIR_DESCZIP, now open the file, and write it to other file (OPEN ">"), (OPEN "<"). Pablo -- Pablo Fischer Sandoval ([EMAIL PROTECTED]) http://www.pablo.com.mx http://www.debianmexico.org GPG FingerTip: 3D49 4CB8 8951 F2CA 8131 AF7C D1B9 1FB9 6B11 810C Firma URL: http://www.pablo.com.mx/firmagpg.txt -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]