- 论坛徽章:
- 0
|
- #!/urs/bin/perl
- use strict;
- use warnings;
- use Tie::File;
- my @lines;
- my $filename='test.txt';
- my %insert=("Insert1"=>"23.22 23.456\n15.115 11.982\n","Insert3"=>"16.110 234.567\n");
- tie(@lines,'Tie::File',$filename) or die;
- my $i=-1;
- foreach(@lines){$i++;
- if(/END/){ splice(@lines,$i,0,$insert{Insert1});
- }
- }
- untie(@lines);
复制代码 其中test.txt中的内容为
我想在END的前面插入Insert1的内容,但是运行的结果却是
10
11
12
13
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
23.22 23.456
15.115 11.982
。。。
进入死循环,是什么原因啊,还望大家帮忙,多谢~ |
|