把perl的hash結構放入數組/堆棧/隊列的方法

perl裏沒有內置的結構體,所以就需要用hash數組來模擬。

比如想定義一個含有name和address的結構,那麼申請一個含有key是name和address的hash數組就可以了。


但是我在試圖將這個結構放入隊列時,卻會出現問題,Thread::queue或者將內置的數組作爲隊列使用都會有問題。


使用一個叫FreezeThaw的module就可以了。

use FreezeThaw(freeze thaw);

my $queue=Thread::Queue->new();//建立一個隊列
my %hash=(name=>"sdcyzjq",address=>"beijing");//申請一個hash數組
my $freezed=freeze %hash;//將hash數組freeze成一個string
$queue->enqueue($freezed);//入隊
my $temp=$queue->dequeue();//出隊
my %hash_thawed=thaw $temp;//解凍成原來的hash數組


發佈了84 篇原創文章 · 獲贊 9 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章