>perl -wMstrict -le "my ($w, $x, $y) = qw(YUU EKS); ;; my $scalar = qr{ \$ \s* (?: { \s* \w+ } | \w+ ) }xms; ;; my $interpol = q{hi from '$w' and ${x}also $y and $z too}; ;; $interpol =~ s{ ($scalar) } { no warnings qw(ambiguous); my $e = eval qq{$1}; $@ ? qq{[['$1' non-existant]]} : ! defined($e) ? qq{[['$1' undefined]]} : $e; }xmseg; ;; print qq{'$interpol'}; " 'hi from 'YUU' and EKSalso [['$y' undefined]] and [['$z' non-existant]] too'