# $soap->doGoogleSearch(&_key()...); sub _key { my $rand = $api_keys{rand(scalar(keys %api_keys))}; $api_keys{$rand} ++; if ($api_keys{$rand} == 100) { delete $api_keys{$rand}; } return $rand; }...which any right minded person would agree is begging to be a web service of it's own.