我无法将任何值存储在数组@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 中的主要内容,如果未能解决你的问题,请参考以下文章

将浮点值存储到无符号字符数组

无法将字典中的值存储在变量中

无法弄清楚如何将数据异步推送到数组

Laravel 存储/插入数组值到数据库 Mysql

无法从 mysql 存储过程中看到任何值

postgresql中的Rails json列不接受任何值,并在存储后调用时返回nil