我使用以下方法创建了一个文件:
open OUT, ">$outfile";
print OUT "$file_in;$system_in;$symbol_in;$price_in\n";
并稍后尝试从此文件中读取:
open DATAIN, "<", "$outfile" or die $!;
while(<DATAIN>)
{
chomp($_);
my @ld = split(/\;/,$_);
my $system = $ld[1];
my $file = $ld[0];
...
print "HELLOOO?$file\t$system\..";
}
但在第一次迭代中,它给了我这个错误:
Can't use an undefined value as an ARRAY reference
问题实际上出在 \n 中,我用它在文件中创建了我之后尝试读取的新行。
我也尝试使用 \r ,错误不存在,但随后它全部读取为一行。
请问有什么帮助吗?提前非常感谢!
完整代码:
open OUT, ">$outfile";
print OUT "$file_in;$system_in;$symbol_in;$price_in\n";
open my $fh, "<", "$outfile" or die $!;
while(<$fh>)
{
chomp;
my @ld = split(/\;/);
my $system = $ld[1];
my $file = $ld[0];
my $symbol = $ld[2];
my $price = $ld[3];
my $key = $file . $symbol;
print "HELLOOO?$file\t$system\t$symbol\t$price\n"
}
错误:
Can't use an undefined value as an ARRAY reference at C:/Perl/lib/Math/BigInt/Calc.pm line 476, <fh> line1.
错误是当它从文件中读取该行时。如果在我放置的初始文件中/r
不是/n
,我不会收到此错误,但所有文件都被读取为一行。