[Solved] Perl set counter to match in loop


If you only want to increment unless some condition is met,
you should mention that in your code.

Using the postfix foo() unless condition(); syntax means the condition will only refer to the previous statement, not the entire scope ( which would arguably be insane to parse ).

So print '...' unless $foo is the same as unless( $foo ){ print '...'; }.

Thus, if you want to include more than one statement in your unless condition, you need to use curly braces: unless ( $foo ) { # as many lines as desired }

If I understood your question correctly, you want to do:

unless ( $justone{$1}++ ){
    $count++;
    print "Number:$count Your TLD $1!\n"
}

This will increment only if the condition was met, and lead to the desired output. I would suggest to use a named variable for what you’ve captured in $1 to make it more readable, though.

solved Perl set counter to match in loop