Строка, читаемая в $line
, имеет в конце newline
char. Вам нужно использовать chomp
, чтобы избавиться от него. У вас есть код в вашем коде, но он неуместен. Переместите его в начало цикла как:
while(my $line = <$fh>)
{
chomp($line); # remove the trailing newline.
$line=~s/^\s+//g; # remove the leading white space.
print $str1.$line.$str2."\n"; # append a newline at the end.
}
EDIT:
Ответ на вопрос в комментарии:
Чтобы удалить начальный пробел в строке:
$str =~s/^\s+//;
Чтобы удалить конечный (конец) пробел в строке:
$str =~s/\s+$//;
Для удаления начальных и конечных пробелов в строке:
$str =~s/^\s+|\s+$//g;