use threads; ... async{ $RAMthread = threads->new(sub{$self->GetFreeRAM($serial)}); $heapthread = threads->new(sub{$self->Getheap($serial)}); $cputhread = threads->new(sub{$self->Getcpu($serial)}); ## Presumably you do something with teh above agathered information... ... # do it here }->detach; ## get on with other stuff ...