The $log is not declared, since it is irrelevant in this case.
(As I noted under the code snipset: "It's a fancy way of printing data to screen and log file").
Since it IS a code snipset: it may be that I indeed left out a 'my' declaration. The easiest way to solve this is putting in the 'my' statement or removing the 'use strict'.
The main problem is stated as comment inside the code snipset:
1. Win32::OLE->LastError() and Win32::GetLastError() return value 0 (which means success).
(which means I'm doing everything wright by coding point of view.)
2. There are no warnings thrown with the '-w' flag (in the original progam.)
(which also means that I'm doing everything wright by coding point of view.)
3. When looking at the code: @tmpTest = $wmiService->CheckAccess($HKEY_LOCAL_MACHINE, "HKEY_CURRENT
+_USER\\Console", $KEY_QUERY_VALUE, $HasAccessRight);
print "Key access rights: $HasAccessRight\n"; # Returns nothing
print "Key access rights (2): @tmpTest\n"; # Retruns 2
The first print ($HasAccessRight) should return the correct value, but it returns an empty string (actual value is 50, checked it with regedit).
(This is the main problem).
The second print (@tmpTest) returns value '2'. Normally this value should be 0 (If I read MSDN correctly), while the value 2 MIGHT indicate that I don't have permission (If I read MSDN correctly). The strange thing is, that I'm a full administrator on my Windows XP machine (in which case I should have full access to everyting).
(Which is probably a lead on what is going wrong, but I'm unable to find the issue.)
Hence, to repeat my question, Can someone help me getting StdRegProv to work with Perl?
Thanks in advance.
(p.s.: I removed all the $log objects and hopefully declared all variables to avoid any other misunderstanding).