in reply to If question

ummm... unless NT-PRINT1 and NT-PRINT2 are subroutines that reture qr// regexps... you need to fix your regexp calls... I will assume NT-PRINT1 and NT-PRINT2 are strings you want to match (you need to quote strings 'NT-PRINT1' or "NT-PRINT1" at the very least) but to match those strings as a regexp try the following...
foreach (@vals) { $SubKey->GetValues(\%cvalues); if ($cvalues{'Server'}[2] =~ /NT-PRINT1/) {print "something\n"}; elsif ($cvalues{'Server'}[2] =~ /NT-PRINT2/) {print "another thing\n"}; }

                - Ant
                - Some of my best work - Fish Dinner