The problem is that when you read in the lines, each ends with a newline. So you have to remove those with chomp
. I'm guessing the problem you had was running chomp
on your output, not on your input.
Incidentally, unless there's a reason you need all of the input in an array, you might find it a lot more efficient to deal with each line as it comes in. That is,
my $file = '/home/steven/x.x-sort';
open(INFO, $file) or die "Couldn't open $file: $!";
close(INFO) or die "Error writing $file: $!";
If for whatever reason your code is more complicated and you really do need the @lines
array, you need to chomp
it, as in chomp(@lines = <INFO>)
, which will remove the trailing newlines from each line.