my $dir = shift; my @list = grep /\.java$/ , do { if (opendir my $dh, $dir) { my @l = readdir $dh; closedir $dh; @l; } else { () } };