From 770e67817089d54bad3575c65e308cacf34e61be Mon Sep 17 00:00:00 2001 From: Pragmatic Software Date: Sat, 26 Aug 2017 03:45:58 -0700 Subject: [PATCH] code-factiod symbol name exclusion now more robust --- PBot/Factoids.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/PBot/Factoids.pm b/PBot/Factoids.pm index fa480cc5..ae1f63d3 100644 --- a/PBot/Factoids.pm +++ b/PBot/Factoids.pm @@ -380,8 +380,9 @@ sub expand_factoid_vars { my $const_action = $action; while ($const_action =~ /(\ba\s*|\ban\s*)?(?new(\$code, readonly => 1); my $vars = $ppi->find(sub { $_[1]->isa('PPI::Token::Symbol') }); my @names = map { $_->symbol =~ /^[\%\@\$]+(.*)/; $1 } @$vars if $vars; + my %uniq = map { $_, 1 } @names; + @names = keys %uniq; $code = $self->expand_factoid_vars($from, $code, @names); $code =~ s/"\$0"/$root_keyword/g;