I'm writing a script to check to make sure files in a given directory are localized to a given language. The way to check this is to look at the Language attribute returned by Win32::AdminMisc's GetFileInfo() function. I've stumbled across a runtime error, though, that crashes Perl quite spectactularly. It only happens on certain files, but I can consistently reproduce the error with Perl 5.005 or 5.6.1, on both Windows 2000 and Windows XP. I could get around it by keeping a list of known-troublesome-files, but that's kludgy as all get out.
Here's a minimal case that always crashes when it gets to catsrv.dll:
use strict; use Win32::AdminMisc; for (glob($ENV{SystemRoot}.'/system32/c*.dll')) { print "$_ --"; my %attr; Win32::AdminMisc::GetFileInfo($_, \%attr); print join(' ',keys %attr), "\n\n"; }
Any ideas, anyone? I have an email in to Dave Roth, but I'm hoping I'm just missing something...
"One word of warning: if you meet a bunch of Perl programmers on the bus or something, don't look them in the eye. They've been known to try to convert the young into Perl monks." - Frank WillisonIn reply to Runtime exception with Win32::AdminMisc::GetFileInfo by myocom
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |