我的代码循环遍历文件中的行,并尝试使用在开头和结尾添加的内容打印出每一行。
然而,我得到这样的输出:“nominalte cows”。
基本上,行之后的位(标称值)会覆盖它的开头。我知道删除chomp和regex线会阻止这种效果,但是我需要它在没有空格的一行上。我哪里错了?
while ($line = <INPUT>) {
chomp $line;
$line =~ s/ //g;
printf "\@attribute %s nominal\n", $line;
}
答案 0 :(得分:12)
您的输入文件可能来自MS Windows,行末尾编码为CR-LF。您也可以s/\r//
删除CR。
答案 1 :(得分:6)