#! /usr/bin/perl
use strict;
my $mDir="/home/cf/ranga1";
opendir(DIR1,"$mDir") or die "unable to open dir $mDir";
my @mRes=grep{/^[^.]/} readdir(DIR1);
closedir(DIR1);
sort(@mRes);
print "@mRes\n";
If you are running a Perl script there is no need to spawn a shell to do this, Perl has a number of ways (as always) of doing this, you can use a glob to get the values
print join("\n",glob("$dir_name/*")),"\n";
Or you could open the directory and read the contents.
The glob is obviously easier to use, however if you need to do more complex processing than just printing the filenames the opendir, readdir , closedir approach gives you more flexibility.