use warnings; use strict; my $have_tie_registry = defined eval q{ use Win32::TieRegistry Delimiter=>"/"; 1 }; if ($have_tie_registry) { print "Have module\n"; our $Registry; my $IEKey = $Registry->{'HKEY_CURRENT_USER/Software/' .'Microsoft/Internet Explorer/Main/'}; print "<$_>\n" for keys %$IEKey; } else { chomp( my $err = $@//'unknown' ); die $err if $^O eq 'MSWin32'; print "On $^O, don't have module (reason: '$err')\n"; } print "Continuing program...\n"; __END__ #### Linux: On linux, don't have module (reason: 'Can't locate Win32/TieRegistry.pm in @INC (you may need to install the Win32::TieRegistry module) (@INC contains: ...) at (eval 1) line 1. BEGIN failed--compilation aborted at (eval 1) line 1.') Continuing program... ### Windows: Have module <...> <...> ... Continuing program...