my @Dir = ReadDirectory("dirName", qr/\.html/); sub ReadDirectory { local *MYDIRHANDLE; my ($dir, $pat) = @_; opendir MYDIRHANDLE, $dir or return (); map "$dir/$_", grep $pat, readdir MYDIRHANDLE; }