--- lib/Mail/SpamAssassin/Plugin/URILocalBL.pm	2015/06/10 12:15:22	1684652
+++ lib/Mail/SpamAssassin/Plugin/URILocalBL.pm	2015/06/10 12:18:50	1684653
@@ -350,7 +350,7 @@
     # look for W3 links only
     next unless (defined $info->{types}->{a});
 
-    while (my($host, $domain) = each $info->{hosts}) {
+    while (my($host, $domain) = each %{$info->{hosts}}) {
 
       # skip if the domain name was matched
       if (exists $rule->{exclusions} && exists $rule->{exclusions}->{$domain}) {
@@ -374,7 +374,7 @@
         }
 
         if (exists $rule->{countries}) {
-          dbg("check: uri_local_bl countries %s\n", join(' ', sort keys $rule->{countries}));
+          dbg("check: uri_local_bl countries %s\n", join(' ', sort keys %{$rule->{countries}}));
 
           my $cc = $self->{geoip}->country_code_by_addr($ip);
 
@@ -403,7 +403,7 @@
         }
 
         if (exists $rule->{isps}) {
-          dbg("check: uri_local_bl isps %s\n", join(' ', map { '"' . $_ . '"'; } sort keys $rule->{isps}));
+          dbg("check: uri_local_bl isps %s\n", join(' ', map { '"' . $_ . '"'; } sort keys %{$rule->{isps}}));
 
           my $isp = $self->{geoisp}->isp_by_name($ip);
 
