and this is a sample of the files data I am reading and trying to build zip files for:#!/perl/bin -w ###################################################################### +# # # Author: # Date: # Purpose: # ###################################################################### +# ### Modules used in the script use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); ### Global Variables $fileCount = 0; $trashcan = "c:/temp/trashcan.txt"; $file_path = "c:/temp/zip"; ###################################################################### +# @files = <c:/temp/zip/*.tif>; foreach $file (@files) { $fileCount++; } print "We have $fileCount files to work with .. lets begin\n"; ###################################################################### +# foreach $file (@files) { chomp($file); $file_to_zip = "$file"; $file =~ s/\//|/g; $file =~ s/\-/|/g; $file =~ s/.tif/|/g; $file = lc($file); #here I wanted to force the case type to low +er case for consistency push @items, "$file\n"; } my $zip = Archive::Zip->new(); foreach $case (@items) { chomp($case); @values = split(/\|/,$case); $driveltr = $values[0]; $dira = $values[1]; $dirb = $values[2]; $unique_id = $values[3]; $case_num = $values[4]; $case_part = $values[5]; $tester = length($case_part); $zip_file_name = "$file_path/$case_num.zip"; if ($tester > 0) { $file_name = "$unique_id-$case_num-$case_part.tif"; $file_to_zip = "$file_path/$unique_id-$case_num-$case_part.tif +"; #$zip_file_name = "$file_path/$case_num-$case_part.zip"; } else { $file_name = "$unique_id-$case_num.tif"; $file_to_zip = "$file_path/$unique_id-$case_num.tif"; } print "to that zip file I will add $file_name\n"; #my $zip = Archive::Zip->new(); my $member = $zip->addDirectory( 'dirname/' ); #$member = $zip->addString( 'This is a test', 'stringMember.txt' ) +; #$member->desiredCompressionMethod( COMPRESSION_DEFLATED ); $member->desiredCompressionMethod(); $member = $zip->addFile( "$file_to_zip", "$file_name" ); + #die 'write error' unless $zip->writeToFileNamed( $zip_file_name ) + == AZ_OK; #sleep(2); } die 'write error' unless $zip->writeToFileNamed( $zip_file_name ) +== AZ_OK;
so in the example 504cvmdl227.zip it should contain both files listed at the end30589-030905TEMP-ONE.tif 30590-305cv26.tif 30591-306cv26.tif 30592-304cv743.tif 30593-304cv264.tif 30594-305CV87.tif 30595-305cv87-1of2.tif 30595-305cv87-2of2.tif 30596-305mj66-1of2.tif 30596-305mj66-2of2.tif 30597-305mj65.tif 30598-398cv560.tif 30599-504cvMDL227-1of2.tif 30599-504cvMDL227-2of2.tif
In reply to Re^4: newbie question to archive::zip
by jashv
in thread newbie question to archive::zip
by jashv
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |