in reply to cross platform scripts

You can use "require", provided the module has an OO interface exclusively — or more correct: provided you use only the OO interface, if you have the choice. The former appears to be the case for this particular module, Win32::TieRegistry. Yes, require() should very likely work.

Update: Oh, dear. I just noticed that this module uses ("abuses"?) the import method for other purposes. Even if you don't provide any arguments to it, you still might have to call import() explicitely:

require Win32::TieRegistry; Win32::TieRegistry->import;
The fact that it is called at runtime, not at compile time, doesn't matter because of the module's OO interface.

Warning: The code has not been tested to see if it has the desired effect. Since I don't want to mess with my registry just to see if it works, it'll just have to be this way. Sorry.