use Win32API::Registry 0.21 qw( :ALL ); my @software = qw ( Excel Word Outlook PowerPoint Perl ); for my $software (@software) { print RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Office\\$software", 0, KEY_READ, $key ) ? "$software has registry key\n" : "$software seems to be missing ".regLastError()."\n"; } __END__ Output on my system Excel has registry key Word has registry key Outlook has registry key PowerPoint has registry key Perl seems to be missing The system cannot find the file specified