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