In that case I would suggest a little input validation:
$ diff -ubB /usr/lib/perl5/site_perl/5.8.5/Archive/Zip/Archive.pm Arch
+ive.pm
--- /usr/lib/perl5/site_perl/5.8.5/Archive/Zip/Archive.pm 2007-1
+1-07 14:02:23.000000000 +0100
+++ Archive.pm 2008-04-10 13:06:07.000000000 +0200
@@ -134,6 +134,11 @@
sub replaceMember {
my ( $self, $oldMember, $newMember ) = @_;
$oldMember = $self->memberNamed($oldMember) unless ref($oldMember
+);
+
+ if (ref($oldMember) ne q{Archive::Zip::Member}){
+ die q{First argument to replaceMember() must be ref to Archive
+::Zip::Member};
+ }
+
return undef unless $oldMember;
return undef unless $newMember;
my @newMembers =
|