tes lignes viennent d'une lecture de fichier, donc elles ont un retour ligne à la fin. Pour le virer il faut utiliser 'chomp':
while( my $ligne = <F> ) {
chomp $ligne;
push @lignes, $ligne;
}
ou alors tu peux egalement utiliser chomp directement sur le tableau:
my @lignes = <F>;
chomp @lignes;
et vire les quotes autour de $ligne[$j], ils sont inutiles