我解析一個文件,每一個奇數行給我一個「字母」(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