Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl-在变量中添加一个变量_Perl_Variables - Fatal编程技术网

Perl-在变量中添加一个变量

Perl-在变量中添加一个变量,perl,variables,Perl,Variables,我想将变量$hostname添加到变量$hostame_表中,该变量随附_表 我的代码: use Sys::Hostname (); my $hostname = Sys::Hostname::hostname(); my $hostname_table = "$hostname"+"_table"; print "$hostname_table"; 我希望结果是computername\u table。您在这里寻找的是字符串连接。Perl使用一个点。作为串联运算符,而不是您尝试使用的+运算符

我想将变量$hostname添加到变量$hostame_表中,该变量随附_表

我的代码:

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

我希望结果是computername\u table。

您在这里寻找的是字符串连接。Perl使用一个点。作为串联运算符,而不是您尝试使用的+运算符

$hostname_table = $hostname . '_table';
print $hostname_table;
更新:另一种常见的方法是在双引号字符串中插入值

$hostname_table = "$hostname_table"; # This doesn't work.
不幸的是,这种简单的方法在这里不起作用,因为_表作为变量名的一部分是有效的,因此Perl不知道变量名的结尾。通过使用稍微复杂一点的语法,将变量名包装在{…}中,您可以绕过这个问题


这里要找的是字符串连接。Perl使用一个点。作为串联运算符,而不是您尝试使用的+运算符

$hostname_table = $hostname . '_table';
print $hostname_table;
更新:另一种常见的方法是在双引号字符串中插入值

$hostname_table = "$hostname_table"; # This doesn't work.
不幸的是,这种简单的方法在这里不起作用,因为_表作为变量名的一部分是有效的,因此Perl不知道变量名的结尾。通过使用稍微复杂一点的语法,将变量名包装在{…}中,您可以绕过这个问题


也许我也会介绍一下插值,但你已经完成了第一部分:我的$hostname\u table=${hostname}\u table@史蒂维布:我考虑过,但在这种情况下,{…}的需要使它比我想解释的稍微复杂一些。我要试一试:-/你不必,这只是一个想法@史蒂维:完成了。我只是觉得这会使答案更加全面。也许我也会加入一个关于插值的简介,但你已经完成了第一部分:我的$hostname_table=${hostname}\u table@史蒂维布:我考虑过,但在这种情况下,{…}的需要使它比我想解释的稍微复杂一些。我要试一试:-/你不必,这只是一个想法@史蒂维:完成了。我只是觉得它会把答案凑成整数。@jack:我能告诉你吗?From:Binary+返回两个数字的和。二进制的连接两个字符串。@jack:我可以指给你看吗?From:Binary+返回两个数字的和。二进制的连接两个字符串。