I tried Module::Info, but apparently the name retrieval when using Module::Info's new_from_file constructor does not work.
I have sent two patches to the author fixing the name and dir part, but I don't think they will be accepted.
Just to recap,
My patches were not accepted by the author of Module::Info, so I have made a class/module inheriting from Module::Info called Module::Info::File.
It only holds one method called new_from_file and implements my patches, it is available now from a CPAN mirror near you.