use Win32::TieRegistry( Delimiter=>"/" ); sub get_sp { my $cpu= shift @_; my $ver= $Registry->{"//$cpu/LMachine/Software/" . "Microsoft/Windows NT/CurrentVersion//CSDVersion"}; if( ! $ver || $ver !~ /(\d+)/ ) { return "unknown"; } return $1; }