I wouldn't disqualify hard links. stat itself is surprisingly complex and expensive under Windows Perl and if you haven't just given up on using Windows Perl, then it probably isn't expensive enough to be a show stopper for other uses (since stat gets used willy nilly when using Perl). (stat emulation is so slow that git implemented Windows-specific replacements in order to make a lot of stuff go noticeably faster.)