#!/usr/bin/perl use strict; use warnings; use Win32::TieRegistry; use constant KEY => 'SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall'; my $registry = $Registry->{'LMachine\\'}; for my $key ( split /\\/, KEY ){ $registry = $registry->{ $key . '\\' }; } for my $key ( keys %$registry ){ next unless index( $key, '{' ) == 0; my $tmp = $registry->{$key}; next unless $tmp->{DisplayName}; print sprintf "Programm:\t%s\nVersion:\t%s\nDatum:\t%s\nHersteller:\t%s\n", @{ $tmp }{ qw/DisplayName DisplayVersion InstallDate Publisher/ }; }