in reply to win32 wmi question

Under VB, the "default property" is what gets printed. Luckily, Win32::OLE does not overload stringification for the default property, even though that would be convenient at times. Getting at the default property is done the following way:

print $_->Invoke(''), "\n";

I find it less confusing to be more explicit with OLE objects. What you really want from the file object is the name:

print $_->{Name}, "\n";

I haven't tested this code, but it should work...