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数组