#> ls -1 file.doc file.odt file.txt test.pl #> cat test.pl #!/usr/bin/perl use strict; use warnings; use File::Basename; use Data::Dumper; sub get_format{   my $suffix;   my @files;   my $name = shift;   my $doc_format = shift;   my $srcdir = shift;   foreach my $f (glob( $srcdir."$name.*" ) ) {     my ($basename, $path, $ext ) = fileparse ( $f, "\..+" );     next if $ext =~ /(JPL|a00)$/;     push( @files, $f );   }   foreach my $ele (@files){     my @s = split(/\./,$ele);     $doc_format = $s[1];   }   return \@files; } my $files = get_format('file', '', './'); print Dumper($files); #> ./test.pl $VAR1 = [          './file.doc',          './file.odt',          './file.txt'        ];