If you don't know anything about the file, you can only be
hopeful, at best. In Unix-land, you can run
file against the unknown file to get some info:
$ file EDK
But since you're most likely in Win32-land, with Perl, you can try to
Encode::Guess which character encoding was used for the unknown file. And then (fingers crossed),
Encode::Repair the file if things were not quite right.
Sure, you can open (as in
read its contents) a file without an extension name. The filename just doesn't have an extension to it.
If, by "open", you mean have Windows figure out a program to open
C:\EDK, then it'll probably fail. Windows associates programs based on the target filename's extension (and doesn't provide a default for no-extension).