use strict; my $alpha = "A"; my $delta = "D"; my $theta = "T"; my @hash = qw/ Hello world /; my $test = '@hash $delta and $alpha or $theta are good'; # evaluate perl variables except bare words my $result = qq{@{[ map { m/^[\$@%]./ ? eval $_ : $_ } split/\s/,$test ]}}; print "$result\n"; #### Hello world D and A or T are good