From b89a5058c2e3737e1e51f77062333eb5cbbb9953 Mon Sep 17 00:00:00 2001 From: William Heimbigner Date: Tue, 12 Jan 2016 15:02:55 -0700 Subject: Disable autovivification in Classes.pm and add some undef checks to reduce warnings. --- lib/ASM/Classes.pm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'lib/ASM') diff --git a/lib/ASM/Classes.pm b/lib/ASM/Classes.pm index 1f0e3ef..2cd9793 100644 --- a/lib/ASM/Classes.pm +++ b/lib/ASM/Classes.pm @@ -1,5 +1,5 @@ package ASM::Classes; - +no autovivification; use strict; use warnings; use Text::LevenshteinXS qw(distance); @@ -48,9 +48,12 @@ sub new sub cloning { my ($chk, $id, $event, $chan, $rev) = @_; my $max = int($chk->{content}); - my @nicks = grep {($::sn{$_}->{host} eq $event->{host}) && (lc $chan ~~ $::sn{$_}->{mship})} keys %::sn; - # It's lines like these that make me love Perl no matter how much it drives dwfreed up a tree. - # Understanding how that line works is simple and is left as an exercise to the reader. + my @nicks = grep { + (defined($::sn{$_}->{host})) && + (defined($::sn{$_}->{mship})) && + ($::sn{$_}->{host} eq $event->{host}) && + (lc $chan ~~ $::sn{$_}->{mship}) + } keys %::sn; if ($#nicks >= $max) { return ASM::Util->commaAndify(@nicks); } -- cgit v1.2.3