Нет, нет возможности «разметки» содержимого столбца (поля) MySQL, чтобы заставить Perl оценивать содержимое текстовой строки, содержащей имена переменных.
Эта проблема не имеет ничего общего с MySQL.
Это описано в FAQ по Perl. How can I expand variables in text strings?
В качестве примера, строка, содержащая в себе две скалярные переменные Perl.
$string = 'Say hello to $foo and $bar';
(Эта строка литерал в одинарных кавычках, так что $ Foo и $ бар не интерпретируются как переменные, это только символы в символьной строке.)
Но я хочу, чтобы расширить $foo
и $bar
к значениям переменных. Скажем, у меня есть эти переменные определены:
my $foo = 'Fred';
my $bar = 'Barney';
Один из способов я могу получить $foo
и $bar
в текстовой строке заменены значениями переменных использовать оператор подстановки и двойной /e
флаг.
Первый /e
оценивает $1
на замену и превращает его в $foo
.
/e
Второй начинается с $foo
и заменяет его значение переменной $foo
, так $foo
заменяется 'Fred'
$string =~ s/(\$\w+)/$1/eeg; # 'Say hello to Fred and Barney'
вы можете показать нам пример? – ysth