据我所知,下面的脚本会打印出以' - '(2个破折号)分隔的行,但是如果有很多' - '(短划线),我怎么能用呢?
{
local $/ = "--\n";
while (<>) {
chomp;
print;
}
}
答案 0 :(得分:8)
您必须滚动自己的数据流解析器。 $/
isn't up to the task:
请记住:$ /的值是字符串,而不是正则表达式。 awk必须更好的东西。 : - )
<小时/>
但是以三个破折号和换行符结尾的行也是以两个破折号和换行符结尾的行。交换chomp
命令只是不够吗?
{
local $/ = "--\n";
while (<>) {
chomp; s/\-+$//; # chop off minimum record separator AND extra dashes
print;
}
}
或
chomp && s/\-+$//
表示数据中的最后一条记录不以记录分隔符字符串结尾的情况。