http://www.perlmonks.org?node_id=114890


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

Replies are listed 'Best First'.
Re: Re: If question
by myocom (Deacon) on Sep 26, 2001 at 22:22 UTC

    And one more thing, too: you are iterating over @vals, but you don't seem to be doing anything with those values in your loop. So effectively what you're doing is running the loop (everything from the GetValues call through the end of the elsif) over and over with the same values. If @vals has 3 elements in it (say 'foo', 'bar', and 'baz') you're running the loop 3 times, but doing nothing with 'foo', 'bar', and 'baz'.

    "One word of warning: if you meet a bunch of Perl programmers on the bus or something, don't look them in the eye. They've been known to try to convert the young into Perl monks." - Frank Willison