Perl - добавить переменную в переменную - PullRequest
0 голосов
/ 13 ноября 2018

Я хочу добавить переменную $hostname в переменную $hostame_table с добавлением _table.

Мой код:

use Sys::Hostname ();
my $hostname = Sys::Hostname::hostname();
my $hostname_table = "$hostname"+"_table";
print "$hostname_table";

Я бы хотел, чтобы результат был computername_table.

1 Ответ

0 голосов
/ 13 ноября 2018

То, что вы ищете здесь, называется «конкатенацией строк».Perl использует точку (.) в качестве оператора конкатенации, а не +, который вы пытались использовать.

$hostname_table = $hostname . '_table';
print $hostname_table;

Обновление: Другой распространенный подход заключается впросто "интерполируйте" значения в строке в двойных кавычках.

$hostname_table = "$hostname_table"; # This doesn't work.

К сожалению, этот простой подход здесь не работает, так как "_table" допустим как часть имени переменной, и поэтому Perl нене знаю, где заканчивается имя вашей переменной.Вы можете обойти это, используя немного более сложный синтаксис, заключающий имя переменной в { ... }.

$hostname_table = "${hostname}_table";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...