use File::Basename; my @files = ("one.zip","twotwo.doc","three3.ppt"); my @onlyNames; my @onlyExt; foreach my $file (@files) { my ($name, $path, $suffix) = fileparse( $file, qr/\.[^.]+$/ ); $suffix =~ s/\.//; push @onlyNames, $name; push @onlyExt, $suffix; }