in reply to while loop not exiting?

Even if this may not help you in this particular issue, I suggest running with strict and warnings enabled; warnings tell that you'll probably want to substitute:
print STDOUT @NewRow[0], " ", @NewRow[1], "\n";
with
print STDOUT $NewRow[0], " ", $NewRow[1], "\n";
to actually print the first two elements in @NewRow. I would also avoid using $Record:
open( BEST, "< $best_file") || die "Sorry, can't open $best_file: $!"; my @best_array = (); # Silences strict while( <BEST> ) { print STDOUT "\t Reading next line...\n"; chomp; # Works on $_ s/^\s+//; # Ditto my @NewRow = split /\s+/; # Ditto, note scoping with my print STDOUT $NewRow[0], " ", $NewRow[1], "\n"; push( @best_array, \@NewRow ); # Take reference, avoid copy print STDOUT "\t Proceeding to next line...\n"; }
Other than that, I tried your piece of code and runs smoothly in v. 5.8.5 in cygwin.

Update: removed annoying hanging sentence

Flavio (perl -e "print(scalar(reverse('ti.xittelop@oivalf')))")

Don't fool yourself.