在冒号后加入行(perl) [英] join lines after colon (perl)
本文介绍了在冒号后加入行(perl)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这行:
alpha: beta
beta: alpha, beta
omega: beta, gamma, alpha
gamma:
alpha
beta
gamma
epsilon: alpha
我想将只包含一个单词后跟冒号的行与不包含冒号的行连接起来:
I want to join line contains only a word followed by colon with lines that do not contain colon:
alpha: beta
beta: alpha, beta
omega: beta, gamma, alpha
gamma: alpha, beta, gamma
epsilon: alpha
推荐答案
这应该和 RCs 代码一样,但要短一些:
This should do the same as RCs code, but a little bit shorter:
my @lines;
while(<FILE>) {
chomp;
if(m/^\w+:\s(\w+(,\s)?)*$/) {
push @lines, $_;
} else {
$lines[$#lines] .= ", " unless($lines[$#lines] =~ m/^\w+:\s?$/);
$lines[$#lines] .= $_;
}
}
print join "\n", @lines;
这篇关于在冒号后加入行(perl)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文