http://qs1969.pair.com?node_id=404829


in reply to Re^3: use and require inside subs
in thread use and require inside subs

BEGIN { if ($^O eq 'MSWin32') { use Win32::TieRegistry( Delimiter=>"/", ArrayValues=>0 ); # load $config from registry } else { # else load $config from flat files } } # end system specific compile time code
I think you mean
require Win32::TieRegistry; Win32::TieRegistry::->import(Delimiter=>"/", ArrayValues=>0 );
since the way you have it, perl will attempt to use that module even not on Win32.

Another way:

use if $^O eq 'MSWin32', "Win32::TieRegistry", Delimiter=>"/", ArrayValues=>0;
if you have if.