#! /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' ];