我刚刚在perl初学者并编写一小段代码。添加\ n后,我收到以下错误。请在下面找到表格格式。我正在尝试获取(2和3列) 来自index.I之后的temp.txt。我正试图进入前两行。
正如我所提到的,当我在代码
中添加\ n时出现错误Error : Use of uninitialized value in concatenation (.) or
string at temp.pl line 10, <$fh2> line 300.
#! /usr/bin/perl
use strict;
use warnings;
my @data;
open(my $fh2,'<',"temp.txt") or die "Could not open file";
while(my $line =<$fh2>){
@data =split(/\s+/,$line);
print "$data[2] $data[3]";
print "\n";
}
Table format is:
$DATA1 SOURCE='XtA' VERSION='G-2014.06'
.TITLE '%curve%'
index temp1 temp2 temp3
alter#
1 -1.5750000e+00 -3.2053667e+00 -4.0000000e+01
1.0000000e+00(temp4)
2 -1.5272727e+00 -2.9323414e+00 -4.0000000e+01
1.0000000e+00
3 -1.4795454e+00 -2.6579232e+00 -4.0000000e+01
1.0000000e+00
....................................upto 99
temp1 temp2
<val1> <val2>
答案 0 :(得分:2)
分手后: if(标量(@data)== 4){
然后是您的打印代码
}
因为您不知道$ data [3]或$ data [2]是否存在。
答案 1 :(得分:0)
您需要向我们提供完整的错误。您应该编辑问题,然后剪切并粘贴确切的错误,包括行号。然后,告诉我们文件中的哪一行。
有可能该文件中的某些数据少于4个字段。因此,拆分将3个或更少的标量返回到@data。然后,当您尝试引用$ data [3]时,这是一个未初始化的值。