我无法将任何值存储在数组@AA 中
Posted
技术标签:
【中文标题】我无法将任何值存储在数组@AA 中【英文标题】:I am not able to get any values to store in the array @AA 【发布时间】:2022-01-14 16:53:20 【问题描述】:它正在获取正确的输入并将它们打印在 for 循环中,但是当我稍后尝试将其发送到功能模块时,或者如果我尝试在 for 循环之外打印它,它是空的。 我需要改变什么?
#!/usr/bin/perl
use lib "."; # This pragma include the current working directory
use Mytools;
$inputfilename = shift @ARGV;
open (INFILE, $inputfilename) or die
("Error reading file $inputfilename: $! \n");
# Storing every line of the input file in array @file_array
while (<INFILE>)
$file_array[ $#file_array + 1 ] = $_;
my $protein;
my @AA;
foreach $protein (@file_array)
@AA = Mytools::dnaToAA($protein);
print "The main AA\n",@AA;
print "The main array",@file_array;
my $header1 = "AA";
my $header2 = "DNA";
Mytools::printreport($header1, $header2, \@AA, \@file_array);
【问题讨论】:
使用strict和warnings。 【参考方案1】:您在 foreach 循环的每次迭代中都会覆盖 @AA。 而不是
@AA = Mytools::dnaToAA($protein);
使用
push @AA, Mytools::dnaToAA($protein);
见push。
下一次,尝试发布可运行的代码(请参阅mre),即避免使用 Mytools,因为它们与问题无关,并使代码无法为除您以外的任何人运行。
【讨论】:
以上是关于我无法将任何值存储在数组@AA 中的主要内容,如果未能解决你的问题,请参考以下文章