From 63afa0e25d793ef5304ea2ebf7f9d822f0ca76b2 Mon Sep 17 00:00:00 2001
From: David Phillips <david@sighup.nz>
Date: Fri, 17 Mar 2017 16:06:06 +1300
Subject: Don't use match as key; use the expression

---
 saxrobot | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/saxrobot b/saxrobot
index da97e47..984fd7b 100755
--- a/saxrobot
+++ b/saxrobot
@@ -85,11 +85,19 @@ sub irc_public {
 
 	my $collected_response = "";
 	print $config{triggers};
-	my @k = (keys %{$config{triggers}});
-	my $expression = join '|', @k;
-	print "expression: $expression\n";
+	my @expressions = (keys %{$config{triggers}});
+	my $expression = join '|', @expressions;
 	while ($what =~ /($expression)/g) {
-		$collected_response .= $config{triggers}->{$1};
+		my $matched = $1;
+		my $key;
+		# figure out which key matched
+		foreach (@expressions) {
+			if ($matched =~ /$_/) {
+				$key = $_;
+				last;
+			}
+		}
+		$collected_response .= $config{triggers}->{$key};
 	}
 	$irc->yield(privmsg => $channel => $collected_response) if $collected_response;
 
-- 
cgit v1.1