Use of uninitialized value $count_in in printf at ../remove_duplicate
+_genes.pl line 34.
0 total records read from 'enzymes.fasta'
Use of uninitialized value $count_out in printf at ../remove_duplicate
+_genes.pl line 35.
0 records written to 'duplicate_gene_entries_in_enzymes.fasta' after r
+emoving duplicate entries
This is because you never increment the $count_in
variables in your code (and also did not provide a start value when you declared them).
BTW, there is a built-in variable, $., which keeps track of the number of lines read from a file. You can just print its value after you've finished reading your file (instead of $count_in).