$to =~ s/\$(\d+)/$a[$1-1]/g; #### $to =~ s/\\(.)|\${(\d+)})|\$(\d+)/ (defined $1 ? $1 : (defined $2 ? $a[$2-1] : $a[$3-1] ) ) /eg;