Perl - 在变量中添加变量

jac*_*ack 1 variables perl

我想添加变量$hostname在变量$hostame_table与附加_table.

我的代码:

use Sys::Hostname ();
my $hostname = Sys::Hostname::hostname();
my $hostname_table = "$hostname"+"_table";
print "$hostname_table";
Run Code Online (Sandbox Code Playgroud)

我希望结果如此computername_table.

Dav*_*oss 5

你在这里寻找的是"字符串连接".Perl使用dot(.)作为连接运算符,而不是+您尝试使用的运算符.

$hostname_table = $hostname . '_table';
print $hostname_table;
Run Code Online (Sandbox Code Playgroud)

更新:另一种常见的方法是在双引号字符串中"插值"值.

$hostname_table = "$hostname_table"; # This doesn't work.
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这种简单的方法在这里不起作用,因为"_table"作为变量名称的一部分有效,因此,Perl不知道变量名称的结束位置.您可以使用稍微复杂的语法来解决这个问题,该语法将变量名称包装在其中{ ... }.

$hostname_table = "${hostname}_table";
Run Code Online (Sandbox Code Playgroud)