use warnings FATAL => qw{ uninitialized }; my $abc = "ABC"; my $def = "DEF"; ## no $ghi is defined. my $funnystring= ' hello $abc and $def and $ghi'; $funnystring =~ s/(\$\w+)/"defined($1) ? $1 : 'unknown $1'"/gee; print $funnystring;