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');