From 382e47d97118b6c8ca21b30575acb7e965512c8d Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Tue, 11 Apr 2017 03:55:52 +0100 Subject: [PATCH] Fix "keys on scalar" deprecation warning on newer perl. (#3) This patch fixes the warning "Experimental keys on scalar is now forbidden" which appears when running pbot on newer versions of perl. --- PBot/BotAdminCommands.pm | 6 +++--- PBot/DualIndexHashObject.pm | 2 +- PBot/Factoids.pm | 2 +- PBot/NickList.pm | 11 ++++++----- PBot/Plugins.pm | 2 +- PBot/Registry.pm | 2 +- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/PBot/BotAdminCommands.pm b/PBot/BotAdminCommands.pm index 85aaee68..499cfaba 100644 --- a/PBot/BotAdminCommands.pm +++ b/PBot/BotAdminCommands.pm @@ -111,7 +111,7 @@ sub adminrem { if (exists $self->{pbot}->{admins}->{admins}->hash->{$channel}) { if (not exists $self->{pbot}->{admins}->{admins}->hash->{$channel}->{$hostmask}) { - foreach my $mask (keys $self->{pbot}->{admins}->{admins}->hash->{$channel}) { + foreach my $mask (keys %{ $self->{pbot}->{admins}->{admins}->hash->{$channel} }) { if ($self->{pbot}->{admins}->{admins}->hash->{$channel}->{$mask}->{name} eq $hostmask) { $hostmask = $mask; last; @@ -143,7 +143,7 @@ sub adminset { if (exists $self->{pbot}->{admins}->{admins}->hash->{$channel}) { if (not exists $self->{pbot}->{admins}->{admins}->hash->{$channel}->{$hostmask}) { - foreach my $mask (keys $self->{pbot}->{admins}->{admins}->hash->{$channel}) { + foreach my $mask (keys %{ $self->{pbot}->{admins}->{admins}->hash->{$channel} }) { if ($self->{pbot}->{admins}->{admins}->hash->{$channel}->{$mask}->{name} eq $hostmask) { $hostmask = $mask; last; @@ -171,7 +171,7 @@ sub adminunset { if (exists $self->{pbot}->{admins}->{admins}->hash->{$channel}) { if (not exists $self->{pbot}->{admins}->{admins}->hash->{$channel}->{$hostmask}) { - foreach my $mask (keys $self->{pbot}->{admins}->{admins}->hash->{$channel}) { + foreach my $mask (keys %{ $self->{pbot}->{admins}->{admins}->hash->{$channel} }) { if ($self->{pbot}->{admins}->{admins}->hash->{$channel}->{$mask}->{name} eq $hostmask) { $hostmask = $mask; last; diff --git a/PBot/DualIndexHashObject.pm b/PBot/DualIndexHashObject.pm index c3af48eb..d52d3cad 100644 --- a/PBot/DualIndexHashObject.pm +++ b/PBot/DualIndexHashObject.pm @@ -328,7 +328,7 @@ sub remove { delete $self->hash->{$primary}->{$secondary}; # remove primary group if no more secondaries - if(scalar keys $self->hash->{$primary} == 0) { + if(scalar keys %{ $self->hash->{$primary} } == 0) { delete $self->hash->{$primary}; } diff --git a/PBot/Factoids.pm b/PBot/Factoids.pm index 458aa0d3..a92b85d0 100644 --- a/PBot/Factoids.pm +++ b/PBot/Factoids.pm @@ -124,7 +124,7 @@ sub remove_factoid { delete $self->{factoids}->hash->{$channel}->{$trigger}; - if(not scalar keys $self->{factoids}->hash->{$channel}) { + if(not scalar keys %{ $self->{factoids}->hash->{$channel} }) { delete $self->{factoids}->hash->{$channel}; } diff --git a/PBot/NickList.pm b/PBot/NickList.pm index 769f577c..b0dd40e3 100644 --- a/PBot/NickList.pm +++ b/PBot/NickList.pm @@ -98,7 +98,7 @@ sub get_channels { $nick = lc $nick; - foreach my $channel (keys $self->{nicklist}) { + foreach my $channel (keys %{ $self->{nicklist} }) { if (exists $self->{nicklist}->{$channel}->{$nick}) { push @channels, $channel; } @@ -140,7 +140,7 @@ sub is_present_similar { $percentage = 0.20 if not defined $percentage; my $now = gettimeofday; - foreach my $person (sort { $self->{nicklist}->{$channel}->{$b}->{timestamp} <=> $self->{nicklist}->{$channel}->{$a}->{timestamp} } keys $self->{nicklist}->{$channel}) { + foreach my $person (sort { $self->{nicklist}->{$channel}->{$b}->{timestamp} <=> $self->{nicklist}->{$channel}->{$a}->{timestamp} } keys %{ $self->{nicklist}->{$channel} }) { return 0 if $now - $self->{nicklist}->{$channel}->{$person}->{timestamp} > 3600; # 1 hour my $distance = fastdistance($nick, $person); my $length = length $nick > length $person ? length $nick : length $person; @@ -165,7 +165,8 @@ sub random_nick { if (exists $self->{nicklist}->{$channel}) { my $now = gettimeofday; - my @nicks = grep { $now - $self->{nicklist}->{$channel}->{$_}->{timestamp} < 3600 * 2 } keys $self->{nicklist}->{$channel}; + my @nicks = grep { $now - $self->{nicklist}->{$channel}->{$_}->{timestamp} < 3600 * 2 } keys %{ $self->{nicklist}->{$channel} }; + my $nick = $nicks[rand @nicks]; return $self->{nicklist}->{$channel}->{$nick}->{nick}; } else { @@ -210,7 +211,7 @@ sub on_quit { my ($self, $event_type, $event) = @_; my ($nick, $user, $host) = ($event->{event}->nick, $event->{event}->user, $event->{event}->host); - foreach my $channel (keys $self->{nicklist}) { + foreach my $channel (keys %{ $self->{nicklist} }) { if ($self->is_present($channel, $nick)) { $self->remove_nick($channel, $nick); } @@ -230,7 +231,7 @@ sub on_nickchange { my ($self, $event_type, $event) = @_; my ($nick, $user, $host, $newnick) = ($event->{event}->nick, $event->{event}->user, $event->{event}->host, $event->{event}->args); - foreach my $channel (keys $self->{nicklist}) { + foreach my $channel (keys %{ $self->{nicklist} }) { if ($self->is_present($channel, $nick)) { $self->remove_nick($channel, $nick); $self->add_nick($channel, $newnick); diff --git a/PBot/Plugins.pm b/PBot/Plugins.pm index 985fb95f..2a927550 100644 --- a/PBot/Plugins.pm +++ b/PBot/Plugins.pm @@ -154,7 +154,7 @@ sub list_cmd { my $count = 0; my $comma = ''; - foreach my $plugin (sort keys $self->{plugins}) { + foreach my $plugin (sort keys %{ $self->{plugins} }) { $result .= $comma . $plugin; $count++; $comma = ', '; diff --git a/PBot/Registry.pm b/PBot/Registry.pm index 6fcd1772..cbb8b5af 100644 --- a/PBot/Registry.pm +++ b/PBot/Registry.pm @@ -97,7 +97,7 @@ sub remove { delete $self->{registry}->hash->{$section}->{$item}; - if(not scalar keys $self->{registry}->hash->{$section}) { + if(not scalar keys %{ $self->{registry}->hash->{$section} }) { delete $self->{registry}->hash->{$section}; }