我解析一个文件,每一个奇数行给我一个“字母”(A,B,C等),每一个偶数行给我一个“二进制序列”(0101 ,1111,0001等)。在Perl中创建数组的可扩展哈希
我想创建一个数组散列(但如果您认为另一个数据类型更适合,请让我知道)保持所有行组织。
我知道有阵列可能看起来像:
%HoA = (
A => [ "0001", "1010" ],
B => [ "0011", "1111", "0111" ],
C => [ "0000"],
);
,我知道如何访问此数据类型信息。
但是,我有问题创建这种数据类型。
举例来说,我能够正确地获得“信”为文件($号)和“二进制序列”($ SEQ),使用类似:
while (<INPUT>) {
s/[\n\r]//mg;
if (/^>/) {
$letter = substr($_, 7, 1);
}
if (/^[01]/) {
$seq = $_;
}
}
但我不确定如何于:
- 创建数组的哈希,
- 首先检查是否是“信”已经在哈希
- 一键存在,如果“信”不存在,作为一个键,然后浩w将它创建为新密钥
- 在确定“字母”已存在或创建它之后,如果不存在,如何将“seq”添加为“字母”的值。
如果这样的数据类型不能在Perl中创建,那么我将不胜感激关于什么样的数据类型转向的任何建议!我需要保留每个“字母”附加到它的所有“序列”。
任何帮助将不胜感激!
鉴于OP的原始问题,这是最有用的答案。 – Chris