gae*_*cia 1 arrays perl hash reference
my %cellHash
Run Code Online (Sandbox Code Playgroud)
有不同的键,$ cellDirectory包含所需键的值.
我试图将哈希值指定为当前键($cellDirectory)的值.该哈希只有2个密钥,每个密钥都有一个不同的数组作为值.
%{ $cellHash{$cellDirectory} } = (
'R1Tests' => \@fastqcResults_R1 ;
'R2Tests' => \@fastqcResults_R2 ;
);
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行脚本时,它会在代码的这一部分附近返回语法错误.
我不知道我做错了什么......有什么想法吗?
列表中的分号是问题所在.
%{ $cellHash{$cellDirectory} } = (
R1Tests => \@fastqcResults_R1,
R2Tests => \@fastqcResults_R2,
);
Run Code Online (Sandbox Code Playgroud)
更新:
在回答评论中的问题时,我会这样做.
匿名哈希语法(引用文字)将是我的第一选择:
$cellHash{$cellDirectory} = {
R1Tests => \@fastqcResults_R1,
R2Tests => \@fastqcResults_R2,
};
Run Code Online (Sandbox Code Playgroud)
这也是有效的,尽管我更喜欢它:
my %newHash = (
R1Tests => \@fastqcResults_R1,
R2Tests => \@fastqcResults_R2,
);
$cellHash{$cellDirectory} = \%newHash;
Run Code Online (Sandbox Code Playgroud)