I suspect that you aren't untying the registry, and hence your changes aren' being commited
No, changes are committed when they are made. No need to close or untie or anything.
You might try using the Flush method, though the docs say that it isn't usually necessary.
No, the docs say (as you quoted) that "If the optional $bFlush is specified and a true value, then RegFlushKey() will be called, which is almost never necessary." which is not at all the same as saying that Flush() isn't usually necessary.
Win32::TieRegistry doesn't listen for changes to the registry and fetches all values or subkey names for a key in a single batch. So once you fetch any of a key's contents, the object will only report things that were in that key at the time of that first fetch. To refresh the key's contents you need to Flush() (or destroy the object and get a fresh one).
In reply to Re^2: Refreshing the Windows Registry (Flush)
by tye
in thread Refreshing the Windows Registry
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |