#!/usr/bin/perl use warnings; use strict; use Archive::Zip qw( :ERROR_CODES ); my $zip = Archive::Zip->new(); $zip->read('tst.zip') == AZ_OK or die "read error\n"; my $m1 = $zip->memberNamed('tst2/s2.tst'); $m1->fileName('foo/tst2/s2.tst'); # Rename the file, adding a subdir $zip->overwrite() == AZ_OK or die "Write error\n";