while (my $line = ) { $content .= substitute_parameters($line); } while (($content) = $sth->fetchrow_array()) { $content = substitute_parameters($content); } sub substitute_parameters { my ($content) = @_; $content =~ s/{{([a-zA-Z0-9\{\'\}_]+)}}/$hash{$1}/ge; return $content; }