#! /usr/bin/perl use strict; use warnings; use File::Slurp; use Data::Dumper; my $dir = '.'; my @files = read_dir($dir); @files = sort @files; @files = grep {$_ ne '.' && $_ ne '..'} @files; print Dumper \@files; __END__ $ perl test.pl $VAR1 = [ 'test.pl', 'test.pl~', 'test_1.txt', 'test_2.txt', 'test_2a.txt', 'test_2b.txt', 'test_2c.txt', 'test_3.txt' ]; #### #! /usr/bin/perl use strict; use warnings; use Data::Dumper; my $dir = '.'; opendir( my $dh, $dir) or die "Cannot open ".$dir." - $!"; my @files = sort readdir($dh); @files = grep {$_ ne '.' && $_ ne '..'} @files; closedir $dh or warn "Cannot close ".$dir." - $!"; print Dumper \@files; __END__ $ perl test.pl $VAR1 = [ 'test.pl', 'test.pl~', 'test_1.txt', 'test_2.txt', 'test_2a.txt', 'test_2b.txt', 'test_2c.txt', 'test_3.txt' ];