- 论坛徽章:
- 0
|
如下格式一个文本文件:
1 3
2 3
3 34
- 34
+ 34
sf 34
s2 34
999 34
现在我要匹配第一列的所有数字并打印,做了如下perl脚本:
(1)
#!/usr/bin/perl -w
open (FH,'<',"test.txt");
while(<FH>){
my @t=split(/ /,$_);
my $v=$t[0] if($t[0]=~/^[\d]+$/);
print $v;
print "\n";
}
close FH;
输出结果:
1
2
3
Use of uninitialized value in print at test.pl line 6, <FH> line 4.
Use of uninitialized value in print at test.pl line 6, <FH> line 5.
Use of uninitialized value in print at test.pl line 6, <FH> line 6.
Use of uninitialized value in print at test.pl line 6, <FH> line 7.
999
请教各位大侠,有什么办法能去掉“Use of uninitialized value in print at test.pl line 6, <FH> line 5.”这个报错(不是不报,而是要解决这个问题)。到底问题出在哪里,明明匹配了数字,另外说明,匹配规则肯定没错,我用单列文本做了一个脚本测试过了。
|
|