in reply to doubt in perl

What does "not working fine" mean? (For that matter, what does "working fine" mean?)

When you do this part:

while(<FILE>){ $_=~s/\s+//g; push(@array1,$_); } my %s = (); $s{$_}++ for @array1;
Is it really your intention to create a hash whose keys look like this:
N01A0000.fBG1_c22 N01A000X.fBG1_c5 N01A000X.rBG1_c5 ...
The list you showed us has 15 lines. When the lines are converted to hash keys using your method, they are all unique. What were you expecting to get as a result?

Update: By the way, why do you use an array and a hash? You could have just done this:

my %s; while(<FILE>) { s/\s+//g; $s{$_}++; }
(Of course, for the data you've shown, that will still end up with all lines being unique. So, what is it about the data that makes two or more lines duplicates?)