Can't call method "extension" on an undefined value at /usr/lib/perl5/site_perl/5.6.1/Apache/CVS/File.pm line 231 (#1) (F) You used the syntax of a method call, but the slot filled by the object reference or package name contains an undefined value. Something like this will reproduce the error: #### foreach my $path ( @directories ) { $self->push('directory', Apache::CVS::Directory->new($self->path() . "/$path")); } #### foreach my $path ( @files ) { if ( $path =~ /,v$/ ) { $self->push('file', Apache::CVS::File->new($self->path() . "/$path", $self->rcs_config())); } else { $self->push('plain_file', Apache::CVS::PlainFile->new($self->path() . "/$path")); } }