If you're just interested in "*.txt" files in one directory, I recommend to forego using readdir and friends, and go straight to glob.
in reply to How to get full path name in windows?
@txt_files = glob qq("C:\\Users\\Me\\Desktop\\Cluster1\\*.txt");
Unlike readdir, glob returns the full path in the same format as you passed as an argument: absolute path in yields absolute path out; relative path in (relative to the current working directory of perl which you can change with chdir) yields relative path out.
Note that if (and only if) your $dirname contains spaces, then the double quotes are required. You don't have to put them around the whole path-with-wildcards, replacing every single space with qq(" ") will work, too.