把perl的hash结构放入数组/堆栈/队列的方法

前端之家收集整理的这篇文章主要介绍了把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数组

猜你在找的Perl相关文章