while($Template =~ /\n(.*%%$FindWhat.*%%.*\n)/i) { my $Original_Line = $1; my $ReplacementString = ''; my $First = true; # # Replace Each Column # foreach my $Column (@Columns) { my $New_Line = $Original_Line; foreach my $Field (keys(%$Column)) { $New_Line =~ s/%%$Field.*%%/$Column->{$Field}/i; } $ReplacementString = $ReplacementString . $New_Line; }