in reply to tracing symlinks
WELL... I'd go with readlink() on *NIX systems, but if it MUST run on windows and cope with windows links, then if you open the .lnk file, there should be a complete path to whatever you're looking in about 200-300 bytes in. If you just snarf the whole file (it's a links, it shouldn't be all that big) and then regex the bugger (UNTESTED!):
That ought to (sorta) work.
$file =~ /([list|of|acceptable|drive|letters]\:.+)/
That ought to (sorta) work.
~Cybercosis
In Section
Seekers of Perl Wisdom