my $cidrDB : shared; my $cidrLock:shared; $cidrDB = Net::CIDR::Lite->new; #### package CIDRDB; .... #code that runs in worker-bee threads my $cidrLock:shared; sub add_cidr { my $arg=shift; { lock $cidrLock; $main::cidrDB->add_any($arg); $main::cidrDB->prep_find(); } }