Если я правильно понимаю, вы пытаетесь получить строку, которая находится между 2 знаками доллара.Код (perl) должен выглядеть примерно так:
if ($str =~ /\$(\w)\$/)
$substr = $1;
Конечно, вы можете заменить знак \ w на выбранный вами шаблон ...
РЕДАКТИРОВАТЬ:
if ($str =~ /\<tag key \= \$(\w)\$ \/\>/)
$substr =$1;