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.