【发布时间】:2011-11-16 19:13:32
【问题描述】:
我是 perl 新手,之前没有任何其他编程语言的编程经验。我正在尝试使用 do-while 循环删除/跳过几行。我正在尝试删除/跳过两个标签之间的数据:<worker> 和 </workers>。
代码:
if($work=/^<worker>/)
{
do
{
delete $work[$i];
++$i;
}
print $work,"\n";
}
【问题讨论】:
-
$work 是如何声明的?是数组吗?
-
该代码中没有“do-while”循环。
-
if($work=/^<worker>/)中的等号=可能是绑定运算符=~。此外,不推荐在数组上使用delete。 -
Insted of
delete $work[$i]你可能想要splice(@work, $i, 1)或类似的东西,具体取决于$i的初始值。 -
根据数据的大小,您可能想尝试使用模块XML::Simple 来帮助您解决问题。
标签: perl