以下を使用してファイルを作成しました。
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 も試してみましたが、エラーはありませんが、すべてが 1 行として読み取られます。
何か助けてください。よろしくお願いします!
完全なコード:
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
このエラーは発生しませんが、すべてのファイルが 1 行として読み取られます。