From a13fa8a4eb4ef102851bd9cbe442f9682428e1c7 Mon Sep 17 00:00:00 2001 From: Robert Anderson <randerson@lbsd.net> Date: Fri, 6 Mar 2009 07:43:40 +0000 Subject: [PATCH] Added function for fetching queries --- smradius/util.pm | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/smradius/util.pm b/smradius/util.pm index 9557044f..82c30298 100644 --- a/smradius/util.pm +++ b/smradius/util.pm @@ -61,21 +61,18 @@ sub templateReplace my ($string,$hashref) = @_; - # Loop with hash sections - foreach my $section (keys %{$hashref}) { - # Loop with section items - foreach my $item (keys %{$hashref->{$section}}) { - # Grab value - my $itemVal = $hashref->{$section}->{$item}; - # Replace in string - $string =~ s/\%{$section\.$item(=[^}]+)?}/$itemVal/gi; - } - } + my @valueArray = (); # Replace blanks - $string =~ s/\%{[a-z]+\.[a-z0-9\-]+(?:=([^}]+))?}/$1/gi; + while (my ($entireMacro,$section,$item,$default) = ($string =~ /(\%{([a-z]+)\.([a-z0-9\-]+)(?:=([^}]+))?})/i )) { + # Replace macro with ? + $string =~ s/$entireMacro/\?/; + # Add value onto our array + push(@valueArray,$hashref->{$section}->{$item}); + + } - return $string; + return ($string, @valueArray); } -- GitLab