http://www.perlmonks.org?node_id=816657

jonnyfolk has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to edit the MANIFEST.MF file in a .jar application using Archive::Zip

I'm not sure if I am going about it the right way. I'm reading and editing the file, printing the revised file externally. I've made a few attempts to get the new file to replace the file in the app but without success, the new app being identical to the original!

#!/usr/bin/perl -w use strict; use CGI::Carp qw(fatalsToBrowser warningsToBrowser); use CGI ':standard'; print "Content-type: text/html\n\n"; my $file = 'MANIFEST.MF'; use Archive::Zip; use Archive::Zip::MemberRead; my $zip = Archive::Zip->new("MyWeb.jar"); my $fh = Archive::Zip::MemberRead->new($zip, "META-INF/MANIFEST.MF" +); open FH, '>', $file or die $!; while (defined(my $line = $fh->getline())) { chomp $line; if ($line =~ /id=(.*)$/) { $line =~ s/$1/1012/; print FH "$line\n"; print "$line\n"; } else { print FH "$line\n"; print "$line\n"; } } my $member1 = $zip->replaceMember( 'MANIFEST.MF', $file ); $zip->overwriteAs('file.jar');