sub process {
my $src = shift;
# possibly do some pre-processing on $src here
my $value = eval $src;
# possibly extra external logging if something went wrong
return $@ ? "Error in '$src': $@" : $value;
}
####
$data =~ s/<# (\{.*?\}) #>/process($1)/eg;