2013-01-19 93 views
-2

我必須將下面的數據存儲在一個perl結構中!在perl中選擇數據結構

{ 
mo=>RXOTG-12, 
a=>1, 
b=>2, 
c=>3, 
    { 
    mo=>RXOTRX-12, 
    d=>4, 
    e=>5, 
     { 
     mp=>RXOTX-12, 
     f=>6, 
     g=>7 
     } 
    }, 
    { 
    mo=>RXOMCTR-12, 
    i=>8, 
    j=>9 
    }, 
k=>10 
} 

有誰能告訴我什麼是適合這個的最好的數據結構。 一個has的散列不適合這個,因爲像例子中提到的那樣,有一些個人元素也像a,b,c一樣。

回答

1

使用散列。

如果一段數據是標量(如a),則將值設爲標量a

如果它是一個散列,然後使它成爲一個hashref。

沒有要求散列中的每個鍵值都是相同類型的數據結構。

爲位於ck之間的數據結構賦予名稱,或者將它們中的數據提升到一個級別。

1

很少丟失:

{ 
mo=>RXOTG-12, 
a=>1, 
b=>2, 
c=>3, 
children => [    <--- 
    { 
    mo=>RXOTRX-12, 
    d=>4, 
    e=>5, 
    children => [  <--- 
     { 
     mp=>RXOTX-12, 
     f=>6, 
     g=>7 
     } 
    ],     <--- 
    }, 
    { 
    mo=>RXOMCTR-12, 
    i=>8, 
    j=>9 
    }, 
],      <--- 
k=>10 
}