sub checkMAC { my $mac = shift; my $httpThr = async { return head "http://$mac:80"; ## Simplified!! }; my $authResult = get 'http://AuthServer/Check.pl?$mac'; ## Simplified!! my $httpReult = httpThr->join; ## join immediately lock %macs; $macs{ $mac } = $httpResult && $authResult ? 1 : 0; }